import { TCromwellBlock, TCromwellBlockData } from '@cromwell/core';
import React from 'react';
import { TBlockMenuProps } from '../pageEditor/components/BlockMenu';
import { TExtendedPageInfo } from '../ThemeEdit';
export declare const contentStyles = "\n* {\n    -webkit-user-drag: none;\n    -khtml-user-drag: none;\n    -moz-user-drag: none;\n    -o-user-drag: none;\n    user-drag: none;\n    -webkit-user-select: none;\n    -khtml-user-select: none;\n    -moz-user-select: none;\n    -o-user-select: none;\n    user-select: none;\n}\n";
declare type THistoryItem = {
    local: string;
    global: string;
};
export declare const usePageBuilder: () => {
    onPageChange: () => Promise<void>;
    deselectBlock: (block: HTMLElement) => void;
    createBlockProps: (block?: TCromwellBlock) => TBlockMenuProps;
    selectedBlock: React.MutableRefObject<HTMLElement>;
    undoModification: () => void;
    redoModification: () => void;
    selectedEditableBlock: React.MutableRefObject<TCromwellBlock<React.Component<import("@cromwell/core").TCromwellBlockProps<React.Component<{}, {}, any>>, {}, any>>>;
    updateFramesPosition: () => void;
    selectedFrames: React.MutableRefObject<Record<string, HTMLElement>>;
    changedModifications: TCromwellBlockData[];
    deletePage: (pageInfo: TExtendedPageInfo) => Promise<void>;
    hasUnsavedModifications: boolean;
    history: THistoryItem[];
    undoneHistory: THistoryItem[];
    savePage: () => Promise<void>;
    resetCurrentPage: () => Promise<void>;
};
export declare const PageBuilderProvider: ({ children }: {
    children: any;
}) => JSX.Element;
export {};
