import { type ReactNode } from "react"; interface DialogEntry { id: string; order: number; priority: number; node: ReactNode; } export interface DialogOpenOptions { id?: string; priority?: number; } export interface DialogRenderContext { id: string; resolve: (value: TResult) => void; reject: (reason?: unknown) => void; close: () => void; replace: (node: ReactNode) => void; } export declare class DialogDismissedError extends Error { constructor(message?: string); } export interface ConfirmDialogOptions { title: string; message: string; confirmLabel?: string; cancelLabel?: string; defaultValue?: boolean; priority?: number; } export interface ChooseDialogOption { label: string; value: TValue; hint?: string; disabled?: boolean; section?: string; } export interface ChooseDialogOptions { title: string; message?: string; options: Array>; initialIndex?: number; priority?: number; } export interface DialogManager { openDialog(render: (context: DialogRenderContext) => ReactNode, options?: DialogOpenOptions): Promise; closeDialog(id: string, reason?: unknown): void; replaceDialog(id: string, node: ReactNode): void; clearDialogs(reason?: unknown): void; confirm(options: ConfirmDialogOptions): Promise; choose(options: ChooseDialogOptions): Promise; topDialogId: string | null; dialogCount: number; } export declare function sortDialogs(entries: DialogEntry[]): DialogEntry[]; export declare function getTopDialog(entries: DialogEntry[]): DialogEntry | null; export declare function getSelectableIndices(options: Array>): number[]; export declare function getResolvedChooseIndex(options: Array>, initialIndex: number): number; export declare function getAdjacentSelectableIndex(options: Array>, currentIndex: number, delta: -1 | 1): number; export interface DialogProviderProps { children: ReactNode; } export declare function DialogProvider({ children }: DialogProviderProps): ReactNode; export declare function useDialogManager(): DialogManager; export {}; //# sourceMappingURL=dialog-manager.d.ts.map