export type DialogId = 'link' | 'insertTable' | 'cellProperties' | 'tableProperties' | 'tableTemplates' | 'image' | 'imageEdit';
export interface CellPropertiesData {
    width?: string;
    backgroundColor?: string;
    horizontalAlign?: 'left' | 'center' | 'right';
    verticalAlign?: 'top' | 'middle' | 'bottom';
}
export interface TablePropertiesData {
    align?: 'left' | 'center' | 'right';
}
export interface TableTemplate {
    id: string;
}
export interface ImageEditData {
    width: number | string;
    height: number | string;
    align: 'left' | 'center' | 'right' | 'full';
    alt: string;
    title: string;
    maintainAspectRatio: boolean;
    naturalWidth?: number;
    naturalHeight?: number;
}
interface DialogState {
    link: boolean;
    insertTable: boolean;
    cellProperties: boolean;
    tableProperties: boolean;
    tableTemplates: boolean;
    image: boolean;
    imageEdit: boolean;
}
export declare function useDialogManager(): {
    open: DialogState;
    show: (id: DialogId) => boolean;
    openDialog: (id: DialogId) => void;
    closeDialog: (id: DialogId) => void;
    cellData: CellPropertiesData;
    setCellData: import('react').Dispatch<import('react').SetStateAction<CellPropertiesData>>;
    tableData: TablePropertiesData;
    setTableData: import('react').Dispatch<import('react').SetStateAction<TablePropertiesData>>;
    imageEditData: ImageEditData | null;
    setImageEditData: import('react').Dispatch<import('react').SetStateAction<ImageEditData | null>>;
};
export {};
