import { type PropType } from 'vue';
import { Editor, type FocusPosition } from '@tiptap/core';
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    /**
     * Initial content. This can be HTML or JSON.
     */
    content: {
        type: (StringConstructor | ObjectConstructor)[];
        default: string;
    };
    /**
     * Determines if users can write into the editor.
     */
    editable: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Force the cursor to jump in the editor on initialization.
     */
    autofocus: {
        type: PropType<FocusPosition>;
        default: boolean;
    };
    /**
     * Set the locale of the editor
     */
    locale: {
        type: StringConstructor;
        default: string;
    };
    /**
     * By default, Yiitap is in light mode, you can set it to dark mode.
     */
    darkMode: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Set the page view of the editor.
     */
    pageView: {
        type: StringConstructor;
        default: string;
        validator: (value: string) => boolean;
    };
}>, {
    /**
     * Editor instance. More about <a href="https://tiptap.dev/docs/editor/api/editor" target="_blank">editor api</a>.
     */
    editor: import("vue").ShallowRef<import("@tiptap/vue-3").Editor, import("@tiptap/vue-3").Editor>;
    /**
     * Whether in dark mode
     */
    darkMode: import("vue").Ref<boolean, boolean>;
    /**
     * Current locale
     */
    locale: import("vue").Ref<string, string>;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
    create: (editor: Editor) => any;
    update: (payload: {
        editor: Editor;
        language: string;
        code: string;
    }) => any;
    transaction: (payload: {
        editor: Editor;
        transaction: object;
    }) => any;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    /**
     * Initial content. This can be HTML or JSON.
     */
    content: {
        type: (StringConstructor | ObjectConstructor)[];
        default: string;
    };
    /**
     * Determines if users can write into the editor.
     */
    editable: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Force the cursor to jump in the editor on initialization.
     */
    autofocus: {
        type: PropType<FocusPosition>;
        default: boolean;
    };
    /**
     * Set the locale of the editor
     */
    locale: {
        type: StringConstructor;
        default: string;
    };
    /**
     * By default, Yiitap is in light mode, you can set it to dark mode.
     */
    darkMode: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Set the page view of the editor.
     */
    pageView: {
        type: StringConstructor;
        default: string;
        validator: (value: string) => boolean;
    };
}>> & Readonly<{
    onCreate?: (editor: Editor) => any;
    onUpdate?: (payload: {
        editor: Editor;
        language: string;
        code: string;
    }) => any;
    onTransaction?: (payload: {
        editor: Editor;
        transaction: object;
    }) => any;
}>, {
    locale: string;
    content: string | Record<string, any>;
    darkMode: boolean;
    autofocus: FocusPosition;
    editable: boolean;
    pageView: string;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
