import { Editor } from 'slate';
import { BuilderEditMode } from '../../state/modules/builder-edit-mode';
import { ControlInstance, type BoxModel, type RichTextValue } from '@makeswift/controls';
type ChangeBuilderEditModeMessage = {
    type: typeof RichTextControl.CHANGE_BUILDER_EDIT_MODE;
    payload: {
        editMode: BuilderEditMode;
    };
};
type InitializeEditorMessage = {
    type: typeof RichTextControl.INITIALIZE_EDITOR;
    value: RichTextValue;
};
type ChangeEditorValueMessage = {
    type: typeof RichTextControl.CHANGE_EDITOR_VALUE;
    value: RichTextValue;
};
type FocusMessage = {
    type: typeof RichTextControl.FOCUS;
};
type BlurMessage = {
    type: typeof RichTextControl.BLUR;
};
type UndoMessage = {
    type: typeof RichTextControl.UNDO;
};
type RedoMessage = {
    type: typeof RichTextControl.REDO;
};
type BoxModelChangeMessage = {
    type: typeof RichTextControl.CHANGE_BOX_MODEL;
    payload: {
        boxModel: BoxModel | null;
    };
};
type Message = ChangeBuilderEditModeMessage | InitializeEditorMessage | ChangeEditorValueMessage | FocusMessage | BlurMessage | UndoMessage | RedoMessage | BoxModelChangeMessage;
export declare class RichTextControl extends ControlInstance<Message> {
    static readonly CHANGE_BUILDER_EDIT_MODE = "CHANGE_BUILDER_EDIT_MODE";
    static readonly INITIALIZE_EDITOR = "INITIALIZE_EDITOR";
    static readonly CHANGE_EDITOR_VALUE = "CHANGE_EDITOR_VALUE";
    static readonly FOCUS = "FOCUS";
    static readonly BLUR = "BLUR";
    static readonly UNDO = "UNDO";
    static readonly REDO = "REDO";
    static readonly CHANGE_BOX_MODEL = "CHANGE_BOX_MODEL";
    private editor;
    child(_key: string): ControlInstance | undefined;
    recv: (message: Message) => void;
    setSlateEditor(editor: Editor): void;
    focus(): void;
    blur(): void;
    undo(): void;
    redo(): void;
    changeBoxModel(boxModel: BoxModel | null): void;
}
export {};
//# sourceMappingURL=control.d.ts.map