export declare function useEditor(): {
    state: {
        content: string;
        doc?: Document | undefined;
        selection: {
            readonly anchorNode: Node | null;
            readonly anchorOffset: number;
            readonly direction: string;
            readonly focusNode: Node | null;
            readonly focusOffset: number;
            readonly isCollapsed: boolean;
            readonly rangeCount: number;
            readonly type: string;
            addRange: (range: Range) => void;
            collapse: (node: Node | null, offset?: number) => void;
            collapseToEnd: () => void;
            collapseToStart: () => void;
            containsNode: (node: Node, allowPartialContainment?: boolean) => boolean;
            deleteFromDocument: () => void;
            empty: () => void;
            extend: (node: Node, offset?: number) => void;
            getComposedRanges: (options?: GetComposedRangesOptions) => StaticRange[];
            getRangeAt: (index: number) => Range;
            modify: (alter?: string, direction?: string, granularity?: string) => void;
            removeAllRanges: () => void;
            removeRange: (range: Range) => void;
            selectAllChildren: (node: Node) => void;
            setBaseAndExtent: (anchorNode: Node, anchorOffset: number, focusNode: Node, focusOffset: number) => void;
            setPosition: (node: Node | null, offset?: number) => void;
            toString: () => string;
        } | null;
        selectedStyles: Set<string> & Omit<Set<string>, keyof Set<any>>;
        isFullscreen: boolean;
        isSplitView: boolean;
        isCodeView: boolean;
        hasInit: boolean;
        undoStack: string[];
        redoStack: string[];
        rangeCount: number;
        range: {
            readonly commonAncestorContainer: Node;
            cloneContents: () => DocumentFragment;
            cloneRange: () => Range;
            collapse: (toStart?: boolean) => void;
            compareBoundaryPoints: (how: number, sourceRange: Range) => number;
            comparePoint: (node: Node, offset: number) => number;
            createContextualFragment: (string: string) => DocumentFragment;
            deleteContents: () => void;
            detach: () => void;
            extractContents: () => DocumentFragment;
            getBoundingClientRect: () => DOMRect;
            getClientRects: () => DOMRectList;
            insertNode: (node: Node) => void;
            intersectsNode: (node: Node) => boolean;
            isPointInRange: (node: Node, offset: number) => boolean;
            selectNode: (node: Node) => void;
            selectNodeContents: (node: Node) => void;
            setEnd: (node: Node, offset: number) => void;
            setEndAfter: (node: Node) => void;
            setEndBefore: (node: Node) => void;
            setStart: (node: Node, offset: number) => void;
            setStartAfter: (node: Node) => void;
            setStartBefore: (node: Node) => void;
            surroundContents: (newParent: Node) => void;
            toString: () => string;
            readonly START_TO_START: 0;
            readonly START_TO_END: 1;
            readonly END_TO_END: 2;
            readonly END_TO_START: 3;
            readonly collapsed: boolean;
            readonly endContainer: Node;
            readonly endOffset: number;
            readonly startContainer: Node;
            readonly startOffset: number;
        } | null;
        debug?: {
            debugger: {
                logCommand: (command: string, value: string | undefined, state: any) => void;
                logPaste: (data: DataTransfer, state: any) => void;
                logKeyboard: (event: KeyboardEvent, state: any) => void;
                logSelection: (state: any) => void;
                logInput: (inputType: string, data: string | null, state: any) => void;
                getSession: () => any;
                clearSession: () => void;
                downloadSession: () => void;
                exportSession: () => string;
                exportSessionWithPrompt: (userMessage?: string) => string;
            };
            logCommand: (command: string, value?: string) => void;
            getSession: () => any;
            clearSession: () => void;
            downloadSession: () => void;
            exportDebugWithPrompt: (message?: string) => string | undefined;
        } | undefined;
    };
    init: (doc: Document) => void;
    updateState: {
        styles: () => void;
        content: (source: "html" | "text") => void;
        selection: () => void;
    };
    history: {
        undo: () => void;
        redo: () => void;
    };
    initDebugger: () => void;
    cleanup: () => void;
};
//# sourceMappingURL=useEditor.d.ts.map