import { default as React, ReactNode } from 'react';
import { PageSettings, TablePageConfig } from '@kottster/common';
import { EditPageSettingsMode, EditPageSettingsProps } from '../components/editPageSettingsModal/EditPageSettingsModal';
type PageModalState = {
    mode: 'create' | 'update';
    editablePageId?: string;
};
type EditPageSettingsModalState = {
    pageId: string;
    key: keyof PageSettings;
    params?: {
        defaultValue?: TablePageConfig;
        focused?: EditPageSettingsProps['focused'] | undefined;
        mode?: keyof typeof EditPageSettingsMode;
    };
};
type PageModalContextType = {
    pageModalState: PageModalState | undefined;
    openCreatePageModal: () => void;
    openUpdatePageModal: (pageId: string) => void;
    closePageModal: () => void;
    askToDeletePage: (pageId: string) => void;
    openEditPageSettingsModal: (pageId: EditPageSettingsModalState['pageId'], key: EditPageSettingsModalState['key'], params?: EditPageSettingsModalState['params']) => void;
    closeEditPageSettingsModal: () => void;
};
export declare function PageModalProvider({ children }: {
    children: ReactNode;
}): React.JSX.Element;
export declare function usePageModal(): PageModalContextType;
export {};
