import { IDomEditor, IEditorConfig, IToolbarConfig } from '@wangeditor/editor';
import { RichTextEmits, RichTextProps } from './rich-text-props';
import { SetupContext } from 'vue';
declare module '@wangeditor/editor' {
    type InsertFn = (src: string, alt: string, href: string) => void;
    type UploadConfig = {
        server: string;
        fieldName: string;
        maxFileSize: number;
        maxNumberOfFiles: number;
        timeout: number;
        base64LimitSize: number;
        allowedFileTypes: string[];
        allowedVideoTypes: string[];
        allowedImageTypes: string[];
        headers: Headers | Record<string, string>;
        withCredentials: boolean;
        onBeforeUpload: (file: File, config: Partial<UploadConfig>) => void | Promise<unknown>;
        onProgress: (progress: number, config: Partial<UploadConfig>) => void | Promise<unknown>;
        onSuccess: (file: File, result: any, config: Partial<UploadConfig>) => void | Promise<unknown>;
        onFailed: (file: File, result: any, config: Partial<UploadConfig>) => void | Promise<unknown>;
        onError: (file: File, err: Error, result: any, config: Partial<UploadConfig>) => void | Promise<unknown>;
        [key: string]: unknown;
    };
}
export declare function useRichText(props: Partial<RichTextProps>, emit: SetupContext<RichTextEmits>['emit']): {
    _props: import('vue').ComputedRef<{
        style: {
            zIndex: any;
        };
    }>;
    _ref: import('vue').ComputedRef<{
        toolbar: any;
        editor: IDomEditor;
    }>;
    _toolbarRef: import('vue').ShallowRef<any, any>;
    _editorRef: import('vue').ShallowRef<IDomEditor, IDomEditor>;
    _modelValue: import('vue').WritableComputedRef<any, any>;
    open: import('vue').Ref<boolean, boolean>;
    notSupport: import('vue').ComputedRef<boolean>;
    config: import('vue').ComputedRef<{
        mode: any;
        toolbar: Partial<IToolbarConfig>;
        editor: Partial<IEditorConfig>;
    }>;
    handleCreated: (editor: IDomEditor) => void;
    DefineRichText: import('@vueuse/core').DefineTemplateComponent<object, Record<string, import('vue').Slot>>;
    ReusableRichText: import('@vueuse/core').ReuseTemplateComponent<object, Record<string, import('vue').Slot>>;
};
