import Mention from './Mention.vue';
export declare const GmMention: import("../../../../utils").SFCWithInstall<{
    new (...args: any[]): import("vue").CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{
        options: {
            readonly type: import("vue").PropType<import("element-plus").MentionOption[]>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: () => never[];
        };
        prefix: {
            readonly type: import("vue").PropType<string | string[]>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: string;
        };
        split: {
            readonly type: import("vue").PropType<string>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: string;
        };
        filterOption: {
            readonly type: import("vue").PropType<false | ((pattern: string, option: import("element-plus").MentionOption) => boolean)>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: () => (pattern: string, option: import("element-plus").MentionOption) => boolean;
        };
        placement: {
            readonly type: import("vue").PropType<"top" | "bottom">;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: string;
        };
        showArrow: BooleanConstructor;
        offset: {
            readonly type: import("vue").PropType<number>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: number;
        };
        whole: BooleanConstructor;
        checkIsWhole: {
            readonly type: import("vue").PropType<(pattern: string, prefix: string) => boolean>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        modelValue: StringConstructor;
        loading: BooleanConstructor;
        popperClass: {
            readonly type: import("vue").PropType<string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | any[] | {
                [x: string]: boolean;
            })[])[])[])[])[])[])[])[])[])[]>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        popperStyle: {
            readonly type: import("vue").PropType<import("vue").StyleValue>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        popperOptions: {
            readonly type: import("vue").PropType<Partial<import("element-plus").Options>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: () => Partial<import("element-plus").Options>;
        };
        props: {
            readonly type: import("vue").PropType<import("element-plus").MentionOptionProps>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: () => Required<import("element-plus").MentionOptionProps>;
        };
        inputmode: {
            readonly type: import("vue").PropType<"search" | "text" | "url" | "none" | "email" | "tel" | "numeric" | "decimal" | undefined>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: undefined;
        };
        name: StringConstructor;
        ariaLabel: StringConstructor;
        id: {
            readonly type: import("vue").PropType<string>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: undefined;
        };
        size: {
            readonly type: import("vue").PropType<"" | "small" | "default" | "large">;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        disabled: BooleanConstructor;
        modelModifiers: {
            readonly type: import("vue").PropType<import("element-plus").InputModelModifiers>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: () => {};
        };
        maxlength: {
            readonly type: import("vue").PropType<string | number>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        minlength: {
            readonly type: import("vue").PropType<string | number>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        type: {
            readonly type: import("vue").PropType<string>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: "text";
        };
        resize: {
            readonly type: import("vue").PropType<"none" | "both" | "horizontal" | "vertical">;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        autosize: {
            readonly type: import("vue").PropType<import("element-plus").InputAutoSize>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: false;
        };
        autocomplete: {
            readonly type: import("vue").PropType<AutoFill>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: "off";
        };
        formatter: {
            readonly type: import("vue").PropType<Function>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        parser: {
            readonly type: import("vue").PropType<Function>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        placeholder: {
            readonly type: import("vue").PropType<string>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        form: {
            readonly type: import("vue").PropType<string>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        readonly: BooleanConstructor;
        clearable: BooleanConstructor;
        clearIcon: {
            readonly type: import("vue").PropType<string | import("vue").Component>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        showPassword: BooleanConstructor;
        showWordLimit: BooleanConstructor;
        wordLimitPosition: {
            readonly type: import("vue").PropType<"inside" | "outside">;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: "inside";
        };
        suffixIcon: {
            readonly type: import("vue").PropType<string | import("vue").Component>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        prefixIcon: {
            readonly type: import("vue").PropType<string | import("vue").Component>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        containerRole: {
            readonly type: import("vue").PropType<string>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: undefined;
        };
        tabindex: {
            readonly type: import("vue").PropType<string | number>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: 0;
        };
        validateEvent: {
            readonly type: import("vue").PropType<boolean>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: true;
        };
        inputStyle: {
            readonly type: import("vue").PropType<import("vue").StyleValue>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: () => {};
        };
        autofocus: BooleanConstructor;
        rows: {
            readonly type: import("vue").PropType<number>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: 2;
        };
    }>> & {
        onInput?: ((value: string) => any) | undefined;
        onSelect?: ((option: import("element-plus").MentionOption, prefix: string) => any) | undefined;
        "onUpdate:modelValue"?: ((value: string) => any) | undefined;
        onFocus?: ((evt: FocusEvent) => any) | undefined;
        onBlur?: ((evt: FocusEvent) => any) | undefined;
        onSearch?: ((pattern: string, prefix: string) => any) | undefined;
        "onWhole-remove"?: ((pattern: string, prefix: string) => any) | undefined;
    }, {
        tooltip: import("element-plus").TooltipInstance | undefined;
        input: import("element-plus").InputInstance | undefined;
        dropdownVisible: boolean;
    }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
        search: (pattern: string, prefix: string) => void;
        input: (value: string) => void;
        select: (option: import("element-plus").MentionOption, prefix: string) => void;
        "update:modelValue": (value: string) => void;
        focus: (evt: FocusEvent) => void;
        blur: (evt: FocusEvent) => void;
        "whole-remove": (pattern: string, prefix: string) => void;
    }, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
        options: {
            readonly type: import("vue").PropType<import("element-plus").MentionOption[]>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: () => never[];
        };
        prefix: {
            readonly type: import("vue").PropType<string | string[]>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: string;
        };
        split: {
            readonly type: import("vue").PropType<string>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: string;
        };
        filterOption: {
            readonly type: import("vue").PropType<false | ((pattern: string, option: import("element-plus").MentionOption) => boolean)>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: () => (pattern: string, option: import("element-plus").MentionOption) => boolean;
        };
        placement: {
            readonly type: import("vue").PropType<"top" | "bottom">;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: string;
        };
        showArrow: BooleanConstructor;
        offset: {
            readonly type: import("vue").PropType<number>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: number;
        };
        whole: BooleanConstructor;
        checkIsWhole: {
            readonly type: import("vue").PropType<(pattern: string, prefix: string) => boolean>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        modelValue: StringConstructor;
        loading: BooleanConstructor;
        popperClass: {
            readonly type: import("vue").PropType<string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | any[] | {
                [x: string]: boolean;
            })[])[])[])[])[])[])[])[])[])[]>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        popperStyle: {
            readonly type: import("vue").PropType<import("vue").StyleValue>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        popperOptions: {
            readonly type: import("vue").PropType<Partial<import("element-plus").Options>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: () => Partial<import("element-plus").Options>;
        };
        props: {
            readonly type: import("vue").PropType<import("element-plus").MentionOptionProps>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: () => Required<import("element-plus").MentionOptionProps>;
        };
        inputmode: {
            readonly type: import("vue").PropType<"search" | "text" | "url" | "none" | "email" | "tel" | "numeric" | "decimal" | undefined>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: undefined;
        };
        name: StringConstructor;
        ariaLabel: StringConstructor;
        id: {
            readonly type: import("vue").PropType<string>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: undefined;
        };
        size: {
            readonly type: import("vue").PropType<"" | "small" | "default" | "large">;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        disabled: BooleanConstructor;
        modelModifiers: {
            readonly type: import("vue").PropType<import("element-plus").InputModelModifiers>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: () => {};
        };
        maxlength: {
            readonly type: import("vue").PropType<string | number>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        minlength: {
            readonly type: import("vue").PropType<string | number>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        type: {
            readonly type: import("vue").PropType<string>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: "text";
        };
        resize: {
            readonly type: import("vue").PropType<"none" | "both" | "horizontal" | "vertical">;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        autosize: {
            readonly type: import("vue").PropType<import("element-plus").InputAutoSize>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: false;
        };
        autocomplete: {
            readonly type: import("vue").PropType<AutoFill>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: "off";
        };
        formatter: {
            readonly type: import("vue").PropType<Function>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        parser: {
            readonly type: import("vue").PropType<Function>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        placeholder: {
            readonly type: import("vue").PropType<string>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        form: {
            readonly type: import("vue").PropType<string>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        readonly: BooleanConstructor;
        clearable: BooleanConstructor;
        clearIcon: {
            readonly type: import("vue").PropType<string | import("vue").Component>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        showPassword: BooleanConstructor;
        showWordLimit: BooleanConstructor;
        wordLimitPosition: {
            readonly type: import("vue").PropType<"inside" | "outside">;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: "inside";
        };
        suffixIcon: {
            readonly type: import("vue").PropType<string | import("vue").Component>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        prefixIcon: {
            readonly type: import("vue").PropType<string | import("vue").Component>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        containerRole: {
            readonly type: import("vue").PropType<string>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: undefined;
        };
        tabindex: {
            readonly type: import("vue").PropType<string | number>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: 0;
        };
        validateEvent: {
            readonly type: import("vue").PropType<boolean>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: true;
        };
        inputStyle: {
            readonly type: import("vue").PropType<import("vue").StyleValue>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: () => {};
        };
        autofocus: BooleanConstructor;
        rows: {
            readonly type: import("vue").PropType<number>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: 2;
        };
    }>> & {
        onInput?: ((value: string) => any) | undefined;
        onSelect?: ((option: import("element-plus").MentionOption, prefix: string) => any) | undefined;
        "onUpdate:modelValue"?: ((value: string) => any) | undefined;
        onFocus?: ((evt: FocusEvent) => any) | undefined;
        onBlur?: ((evt: FocusEvent) => any) | undefined;
        onSearch?: ((pattern: string, prefix: string) => any) | undefined;
        "onWhole-remove"?: ((pattern: string, prefix: string) => any) | undefined;
    }, {
        id: string;
        split: string;
        type: string;
        options: import("element-plus").MentionOption[];
        offset: number;
        placement: "top" | "bottom";
        disabled: boolean;
        props: import("element-plus").MentionOptionProps;
        inputmode: "search" | "text" | "url" | "none" | "email" | "tel" | "numeric" | "decimal" | undefined;
        modelModifiers: import("element-plus").InputModelModifiers;
        autosize: import("element-plus").InputAutoSize;
        autocomplete: AutoFill;
        readonly: boolean;
        clearable: boolean;
        showPassword: boolean;
        showWordLimit: boolean;
        wordLimitPosition: "inside" | "outside";
        containerRole: string;
        tabindex: string | number;
        validateEvent: boolean;
        inputStyle: import("vue").StyleValue;
        autofocus: boolean;
        rows: number;
        loading: boolean;
        prefix: string | string[];
        popperOptions: Partial<import("element-plus").Options>;
        showArrow: boolean;
        filterOption: false | ((pattern: string, option: import("element-plus").MentionOption) => boolean);
        whole: boolean;
    }, true, {}, {}, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        options: {
            readonly type: import("vue").PropType<import("element-plus").MentionOption[]>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: () => never[];
        };
        prefix: {
            readonly type: import("vue").PropType<string | string[]>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: string;
        };
        split: {
            readonly type: import("vue").PropType<string>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: string;
        };
        filterOption: {
            readonly type: import("vue").PropType<false | ((pattern: string, option: import("element-plus").MentionOption) => boolean)>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: () => (pattern: string, option: import("element-plus").MentionOption) => boolean;
        };
        placement: {
            readonly type: import("vue").PropType<"top" | "bottom">;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: string;
        };
        showArrow: BooleanConstructor;
        offset: {
            readonly type: import("vue").PropType<number>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: number;
        };
        whole: BooleanConstructor;
        checkIsWhole: {
            readonly type: import("vue").PropType<(pattern: string, prefix: string) => boolean>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        modelValue: StringConstructor;
        loading: BooleanConstructor;
        popperClass: {
            readonly type: import("vue").PropType<string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | any[] | {
                [x: string]: boolean;
            })[])[])[])[])[])[])[])[])[])[]>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        popperStyle: {
            readonly type: import("vue").PropType<import("vue").StyleValue>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        popperOptions: {
            readonly type: import("vue").PropType<Partial<import("element-plus").Options>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: () => Partial<import("element-plus").Options>;
        };
        props: {
            readonly type: import("vue").PropType<import("element-plus").MentionOptionProps>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: () => Required<import("element-plus").MentionOptionProps>;
        };
        inputmode: {
            readonly type: import("vue").PropType<"search" | "text" | "url" | "none" | "email" | "tel" | "numeric" | "decimal" | undefined>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: undefined;
        };
        name: StringConstructor;
        ariaLabel: StringConstructor;
        id: {
            readonly type: import("vue").PropType<string>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: undefined;
        };
        size: {
            readonly type: import("vue").PropType<"" | "small" | "default" | "large">;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        disabled: BooleanConstructor;
        modelModifiers: {
            readonly type: import("vue").PropType<import("element-plus").InputModelModifiers>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: () => {};
        };
        maxlength: {
            readonly type: import("vue").PropType<string | number>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        minlength: {
            readonly type: import("vue").PropType<string | number>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        type: {
            readonly type: import("vue").PropType<string>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: "text";
        };
        resize: {
            readonly type: import("vue").PropType<"none" | "both" | "horizontal" | "vertical">;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        autosize: {
            readonly type: import("vue").PropType<import("element-plus").InputAutoSize>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: false;
        };
        autocomplete: {
            readonly type: import("vue").PropType<AutoFill>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: "off";
        };
        formatter: {
            readonly type: import("vue").PropType<Function>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        parser: {
            readonly type: import("vue").PropType<Function>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        placeholder: {
            readonly type: import("vue").PropType<string>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        form: {
            readonly type: import("vue").PropType<string>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        readonly: BooleanConstructor;
        clearable: BooleanConstructor;
        clearIcon: {
            readonly type: import("vue").PropType<string | import("vue").Component>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        showPassword: BooleanConstructor;
        showWordLimit: BooleanConstructor;
        wordLimitPosition: {
            readonly type: import("vue").PropType<"inside" | "outside">;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: "inside";
        };
        suffixIcon: {
            readonly type: import("vue").PropType<string | import("vue").Component>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        prefixIcon: {
            readonly type: import("vue").PropType<string | import("vue").Component>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        containerRole: {
            readonly type: import("vue").PropType<string>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: undefined;
        };
        tabindex: {
            readonly type: import("vue").PropType<string | number>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: 0;
        };
        validateEvent: {
            readonly type: import("vue").PropType<boolean>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: true;
        };
        inputStyle: {
            readonly type: import("vue").PropType<import("vue").StyleValue>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: () => {};
        };
        autofocus: BooleanConstructor;
        rows: {
            readonly type: import("vue").PropType<number>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: 2;
        };
    }>> & {
        onInput?: ((value: string) => any) | undefined;
        onSelect?: ((option: import("element-plus").MentionOption, prefix: string) => any) | undefined;
        "onUpdate:modelValue"?: ((value: string) => any) | undefined;
        onFocus?: ((evt: FocusEvent) => any) | undefined;
        onBlur?: ((evt: FocusEvent) => any) | undefined;
        onSearch?: ((pattern: string, prefix: string) => any) | undefined;
        "onWhole-remove"?: ((pattern: string, prefix: string) => any) | undefined;
    }, {
        tooltip: import("element-plus").TooltipInstance | undefined;
        input: import("element-plus").InputInstance | undefined;
        dropdownVisible: boolean;
    }, {}, {}, {}, {
        id: string;
        split: string;
        type: string;
        options: import("element-plus").MentionOption[];
        offset: number;
        placement: "top" | "bottom";
        disabled: boolean;
        props: import("element-plus").MentionOptionProps;
        inputmode: "search" | "text" | "url" | "none" | "email" | "tel" | "numeric" | "decimal" | undefined;
        modelModifiers: import("element-plus").InputModelModifiers;
        autosize: import("element-plus").InputAutoSize;
        autocomplete: AutoFill;
        readonly: boolean;
        clearable: boolean;
        showPassword: boolean;
        showWordLimit: boolean;
        wordLimitPosition: "inside" | "outside";
        containerRole: string;
        tabindex: string | number;
        validateEvent: boolean;
        inputStyle: import("vue").StyleValue;
        autofocus: boolean;
        rows: number;
        loading: boolean;
        prefix: string | string[];
        popperOptions: Partial<import("element-plus").Options>;
        showArrow: boolean;
        filterOption: false | ((pattern: string, option: import("element-plus").MentionOption) => boolean);
        whole: boolean;
    }>;
    __isFragment?: undefined;
    __isTeleport?: undefined;
    __isSuspense?: undefined;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    options: {
        readonly type: import("vue").PropType<import("element-plus").MentionOption[]>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => never[];
    };
    prefix: {
        readonly type: import("vue").PropType<string | string[]>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: string;
    };
    split: {
        readonly type: import("vue").PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: string;
    };
    filterOption: {
        readonly type: import("vue").PropType<false | ((pattern: string, option: import("element-plus").MentionOption) => boolean)>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => (pattern: string, option: import("element-plus").MentionOption) => boolean;
    };
    placement: {
        readonly type: import("vue").PropType<"top" | "bottom">;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: string;
    };
    showArrow: BooleanConstructor;
    offset: {
        readonly type: import("vue").PropType<number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: number;
    };
    whole: BooleanConstructor;
    checkIsWhole: {
        readonly type: import("vue").PropType<(pattern: string, prefix: string) => boolean>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    modelValue: StringConstructor;
    loading: BooleanConstructor;
    popperClass: {
        readonly type: import("vue").PropType<string | {
            [x: string]: boolean;
        } | (string | {
            [x: string]: boolean;
        } | (string | {
            [x: string]: boolean;
        } | (string | {
            [x: string]: boolean;
        } | (string | {
            [x: string]: boolean;
        } | (string | {
            [x: string]: boolean;
        } | (string | {
            [x: string]: boolean;
        } | (string | {
            [x: string]: boolean;
        } | (string | {
            [x: string]: boolean;
        } | (string | {
            [x: string]: boolean;
        } | (string | any[] | {
            [x: string]: boolean;
        })[])[])[])[])[])[])[])[])[])[]>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    popperStyle: {
        readonly type: import("vue").PropType<import("vue").StyleValue>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    popperOptions: {
        readonly type: import("vue").PropType<Partial<import("element-plus").Options>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => Partial<import("element-plus").Options>;
    };
    props: {
        readonly type: import("vue").PropType<import("element-plus").MentionOptionProps>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => Required<import("element-plus").MentionOptionProps>;
    };
    inputmode: {
        readonly type: import("vue").PropType<"search" | "text" | "url" | "none" | "email" | "tel" | "numeric" | "decimal" | undefined>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: undefined;
    };
    name: StringConstructor;
    ariaLabel: StringConstructor;
    id: {
        readonly type: import("vue").PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: undefined;
    };
    size: {
        readonly type: import("vue").PropType<"" | "small" | "default" | "large">;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    disabled: BooleanConstructor;
    modelModifiers: {
        readonly type: import("vue").PropType<import("element-plus").InputModelModifiers>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => {};
    };
    maxlength: {
        readonly type: import("vue").PropType<string | number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    minlength: {
        readonly type: import("vue").PropType<string | number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    type: {
        readonly type: import("vue").PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: "text";
    };
    resize: {
        readonly type: import("vue").PropType<"none" | "both" | "horizontal" | "vertical">;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    autosize: {
        readonly type: import("vue").PropType<import("element-plus").InputAutoSize>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: false;
    };
    autocomplete: {
        readonly type: import("vue").PropType<AutoFill>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: "off";
    };
    formatter: {
        readonly type: import("vue").PropType<Function>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    parser: {
        readonly type: import("vue").PropType<Function>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    placeholder: {
        readonly type: import("vue").PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    form: {
        readonly type: import("vue").PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    readonly: BooleanConstructor;
    clearable: BooleanConstructor;
    clearIcon: {
        readonly type: import("vue").PropType<string | import("vue").Component>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    showPassword: BooleanConstructor;
    showWordLimit: BooleanConstructor;
    wordLimitPosition: {
        readonly type: import("vue").PropType<"inside" | "outside">;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: "inside";
    };
    suffixIcon: {
        readonly type: import("vue").PropType<string | import("vue").Component>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    prefixIcon: {
        readonly type: import("vue").PropType<string | import("vue").Component>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    containerRole: {
        readonly type: import("vue").PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: undefined;
    };
    tabindex: {
        readonly type: import("vue").PropType<string | number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: 0;
    };
    validateEvent: {
        readonly type: import("vue").PropType<boolean>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: true;
    };
    inputStyle: {
        readonly type: import("vue").PropType<import("vue").StyleValue>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => {};
    };
    autofocus: BooleanConstructor;
    rows: {
        readonly type: import("vue").PropType<number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: 2;
    };
}>> & {
    onInput?: ((value: string) => any) | undefined;
    onSelect?: ((option: import("element-plus").MentionOption, prefix: string) => any) | undefined;
    "onUpdate:modelValue"?: ((value: string) => any) | undefined;
    onFocus?: ((evt: FocusEvent) => any) | undefined;
    onBlur?: ((evt: FocusEvent) => any) | undefined;
    onSearch?: ((pattern: string, prefix: string) => any) | undefined;
    "onWhole-remove"?: ((pattern: string, prefix: string) => any) | undefined;
}, {
    tooltip: import("element-plus").TooltipInstance | undefined;
    input: import("element-plus").InputInstance | undefined;
    dropdownVisible: boolean;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    search: (pattern: string, prefix: string) => void;
    input: (value: string) => void;
    select: (option: import("element-plus").MentionOption, prefix: string) => void;
    "update:modelValue": (value: string) => void;
    focus: (evt: FocusEvent) => void;
    blur: (evt: FocusEvent) => void;
    "whole-remove": (pattern: string, prefix: string) => void;
}, string, {
    id: string;
    split: string;
    type: string;
    options: import("element-plus").MentionOption[];
    offset: number;
    placement: "top" | "bottom";
    disabled: boolean;
    props: import("element-plus").MentionOptionProps;
    inputmode: "search" | "text" | "url" | "none" | "email" | "tel" | "numeric" | "decimal" | undefined;
    modelModifiers: import("element-plus").InputModelModifiers;
    autosize: import("element-plus").InputAutoSize;
    autocomplete: AutoFill;
    readonly: boolean;
    clearable: boolean;
    showPassword: boolean;
    showWordLimit: boolean;
    wordLimitPosition: "inside" | "outside";
    containerRole: string;
    tabindex: string | number;
    validateEvent: boolean;
    inputStyle: import("vue").StyleValue;
    autofocus: boolean;
    rows: number;
    loading: boolean;
    prefix: string | string[];
    popperOptions: Partial<import("element-plus").Options>;
    showArrow: boolean;
    filterOption: false | ((pattern: string, option: import("element-plus").MentionOption) => boolean);
    whole: boolean;
}, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
    $slots: {
        label?: ((props: any) => any) | undefined;
    } & {
        loading?: ((props: {}) => any) | undefined;
    } & {
        header?: ((props: {}) => any) | undefined;
    } & {
        footer?: ((props: {}) => any) | undefined;
    } & {
        prefix?: ((props: {}) => any) | undefined;
    } & {
        suffix?: ((props: {}) => any) | undefined;
    } & {
        prepend?: ((props: {}) => any) | undefined;
    } & {
        append?: ((props: {}) => any) | undefined;
    };
})> & Record<string, any>;
export type MentionInstance = InstanceType<typeof Mention>;
export * from './mention';
export default GmMention;
