import type { ComponentType, FunctionComponent, ReactNode } from "react"; import type { PluginIconProps } from "./contracts.js"; export interface ModalProps { title: string; icon?: ReactNode; open: boolean; onOpenChange(open: boolean): void; children: ReactNode; } export interface ModalContentProps { children: ReactNode; } export interface ModalComponent extends FunctionComponent { Content: ComponentType; } export type ToastVariant = "default" | "info" | "success" | "warning" | "error"; export interface ToastOptions { variant?: ToastVariant; durationMs?: number; } export interface ToastApi { show(message: string, options?: ToastOptions): void; error(message: string): void; } export declare const Icon: ComponentType; export declare const Modal: ModalComponent; export declare function useToast(): ToastApi; export type { PluginIconProps } from "./contracts.js";