import { ModalApi } from '../../../../plugins/modal';
export interface EditorDebuggerInstance {
    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;
}
export interface EditorDebugInterface {
    debugger: EditorDebuggerInstance;
    logCommand: (command: string, value?: string) => void;
    getSession: () => any;
    clearSession: () => void;
    downloadSession: () => void;
    exportDebugWithPrompt: (message?: string) => string | undefined;
}
export interface EditorState {
    content: string;
    doc?: Document;
    selection: Selection | null;
    selectedStyles: Set<string>;
    isFullscreen: boolean;
    isSplitView: boolean;
    isCodeView: boolean;
    hasInit: boolean;
    undoStack: string[];
    redoStack: string[];
    rangeCount: number;
    range: Range | null;
    modal: ModalApi;
    debug?: EditorDebugInterface;
}
export type FormattingCommand = 'bold' | 'italic' | 'underline' | 'formatBlock' | 'orderedList' | 'unorderedList' | 'link' | 'image' | 'embed' | 'table' | 'splitView' | 'codeView';
export type HeadingLevel = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
export type ToolbarConfigOption = string;
export type ToolbarConfig = ToolbarConfigOption[];
export interface ToolbarOption {
    name: string;
    label?: string;
    icon?: string;
    class?: string;
}
//# sourceMappingURL=richTextTypes.d.ts.map