import { CSSStyle } from '@oinone/kunlun-shared';
import { IToolbarConfig } from '@wangeditor/editor';
import '@wangeditor/editor/dist/css/style.css';
declare type InsertImgFnType = (url: string, alt?: string, href?: string) => void;
declare type InsertVideoFnType = (url: string, poster?: string) => void;
declare const _default: import("vue").DefineComponent<Readonly<{
    value?: any;
    field?: any;
    change?: any;
    defaultValue?: any;
    placeholder?: any;
    blur?: any;
    focus?: any;
    readonly?: any;
    disabled?: any;
    maxLength?: any;
    encode?: any;
    height?: any;
    richTextToolbarExcludeKeys?: any;
}>, {
    handleCreated: (editor: any) => void;
    handleChange: (editor: any) => void;
    onBlur: () => void;
    editorId: string;
    defaultHtml: import("vue").Ref<string>;
    editorRef: import("vue").ShallowRef<any>;
    editorNodeRef: any;
    toolbarConfig: import("vue").ComputedRef<Partial<IToolbarConfig>>;
    editorConfig: import("vue").ComputedRef<{
        placeholder: any;
        readOnly: boolean | undefined;
        hoverbarKeys: {
            attachment: {
                menuKeys: string[];
            };
        };
        MENU_CONF: {
            fontName: {};
            head: {};
            fontSize: {
                fontSizeList: {
                    name: string;
                    value: string;
                }[];
            };
            bold: {};
            italic: {};
            strikeThrough: {};
            underline: {};
            indent: {};
            lineHeight: {};
            foreColor: {};
            backColor: {};
            justify: {};
            list: {};
            todo: {};
            link: {};
            quote: {};
            splitLine: {};
            emoticon: {};
            image: {};
            table: {};
            code: {};
            undo: {};
            redo: {};
            uploadImage: {
                maxFileSize: number;
                maxNumberOfFiles: number;
                allowedFileTypes: string[];
                customUpload(file: File, insertFn: InsertImgFnType): Promise<void>;
            };
            uploadVideo: {
                maxFileSize: number;
                maxNumberOfFiles: number;
                allowedFileTypes: string[];
                customUpload(file: File, insertFn: InsertVideoFnType): Promise<void>;
            };
            uploadAttachment: {
                maxFileSize: number;
                maxNumberOfFiles: number;
                customUpload(file: File, insertFn: Function): Promise<void>;
            };
        };
        EXTEND_CONF: {};
    }>;
    innerReadonly: import("vue").ComputedRef<boolean | undefined>;
    innerDisabled: import("vue").ComputedRef<boolean | undefined>;
    className: import("vue").ComputedRef<{
        'form-rich-text-disabled': boolean | undefined;
        'form-rich-text-readonly': boolean | undefined;
    }>;
    editorStyle: import("vue").ComputedRef<CSSStyle>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<Readonly<{
    value?: any;
    field?: any;
    change?: any;
    defaultValue?: any;
    placeholder?: any;
    blur?: any;
    focus?: any;
    readonly?: any;
    disabled?: any;
    maxLength?: any;
    encode?: any;
    height?: any;
    richTextToolbarExcludeKeys?: any;
}>>>, {
    readonly value?: any;
    readonly field?: any;
    readonly change?: any;
    readonly defaultValue?: any;
    readonly placeholder?: any;
    readonly blur?: any;
    readonly focus?: any;
    readonly readonly?: any;
    readonly disabled?: any;
    readonly maxLength?: any;
    readonly encode?: any;
    readonly height?: any;
    readonly richTextToolbarExcludeKeys?: any;
}>;
export default _default;
