import * as React from 'react'; export interface OpenDialog { pluginId: string; dialogId: string; props: Record; /** Monotonic, so opening the same dialog twice stacks rather than replacing. */ instanceId: number; } interface DialogControls { open: (pluginId: string, dialogId: string, props?: Record) => void; close: (pluginId: string, dialogId?: string) => void; closePlugin: (pluginId: string) => void; } /** * Holds every open plugin dialog, above all of a plugin's surfaces so one outlives whatever * opened it. State only: the provider renders this, so importing it back would cycle. */ export declare function PluginDialogProvider({ children }: { children: React.ReactNode; }): React.JSX.Element; /** Throws outside the provider rather than silently doing nothing when a plugin opens a dialog. */ export declare function usePluginDialogControls(): DialogControls; export declare function usePluginDialogStack(): OpenDialog[]; export {}; //# sourceMappingURL=dialogs.d.ts.map