import type { PropType, ExtractPropTypes, StyleValue } from 'vue';
import type { Arrayable, ComponentSize } from '../../_utils/types';
type IUpload = {
    action?: string;
    headers?: Record<string, string>;
    withCredentials?: boolean;
    dataKey?: string;
};
export declare const _props: {
    modelValue: {
        type: StringConstructor;
    };
    size: {
        type: PropType<ComponentSize>;
        validator: (val: string) => boolean;
    };
    height: {
        type: PropType<string | number>;
        default: number;
        validator: (val: string | number) => boolean;
    };
    tinymce: {
        type: ObjectConstructor;
        default: () => {};
    };
    upload: {
        type: PropType<IUpload>;
        default: () => {};
    };
    thresholdSize: {
        type: NumberConstructor;
        default: number;
    };
    tinymceScriptSrc: {
        type: StringConstructor;
    };
    disabled: {
        type: BooleanConstructor;
    };
    class: {
        type: PropType<string | Arrayable<Record<string, boolean>>>;
    };
    style: {
        type: PropType<StyleValue>;
    };
};
export declare const _emits: {
    "update:modelValue": (val: string) => boolean;
    change: (val: string, editor: any) => boolean;
    resizeEditor: (option: {
        width: number;
        height: number;
    }, ev: any) => boolean;
};
export type TinymceProps = ExtractPropTypes<typeof _props>;
export type TinymceEmits = typeof _emits;
export {};
