import type { App } from 'vue';
import type { ArcoOptions } from '../_utils/types';
import _Mention from './mention';
declare const Mention: {
    new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
        modelValue: StringConstructor;
        defaultValue: {
            type: StringConstructor;
            default: string;
        };
        data: {
            type: import("vue").PropType<(string | number | import("..").SelectOptionData | import("..").SelectOptionGroup)[]>;
            default: () => never[];
        };
        prefix: {
            type: import("vue").PropType<string | string[]>;
            default: string;
        };
        split: {
            type: StringConstructor;
            default: string;
        };
        type: {
            type: import("vue").PropType<"input" | "textarea">;
            default: string;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        allowClear: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> & Readonly<{
        onClear?: ((ev: Event) => any) | undefined;
        onChange?: ((value: string) => any) | undefined;
        onBlur?: ((ev: FocusEvent) => any) | undefined;
        onFocus?: ((ev: FocusEvent) => any) | undefined;
        "onUpdate:modelValue"?: ((value: string) => any) | undefined;
        onSelect?: ((value: string | number | Record<string, any> | undefined) => any) | undefined;
        onSearch?: ((value: string, prefix: string) => any) | undefined;
    }>, {
        inputRef: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
        render: () => import("vue/jsx-runtime").JSX.Element;
    }, {}, {}, {
        focus(): void;
        blur(): void;
    }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
        'update:modelValue': (value: string) => true;
        change: (value: string) => true;
        search: (value: string, prefix: string) => true;
        select: (value: string | number | Record<string, any> | undefined) => true;
        clear: (ev: Event) => true;
        focus: (ev: FocusEvent) => true;
        blur: (ev: FocusEvent) => true;
    }, import("vue").PublicProps, {
        type: "input" | "textarea";
        prefix: string | string[];
        disabled: boolean;
        allowClear: boolean;
        defaultValue: string;
        data: (string | number | import("..").SelectOptionData | import("..").SelectOptionGroup)[];
        split: string;
    }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        modelValue: StringConstructor;
        defaultValue: {
            type: StringConstructor;
            default: string;
        };
        data: {
            type: import("vue").PropType<(string | number | import("..").SelectOptionData | import("..").SelectOptionGroup)[]>;
            default: () => never[];
        };
        prefix: {
            type: import("vue").PropType<string | string[]>;
            default: string;
        };
        split: {
            type: StringConstructor;
            default: string;
        };
        type: {
            type: import("vue").PropType<"input" | "textarea">;
            default: string;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        allowClear: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> & Readonly<{
        onClear?: ((ev: Event) => any) | undefined;
        onChange?: ((value: string) => any) | undefined;
        onBlur?: ((ev: FocusEvent) => any) | undefined;
        onFocus?: ((ev: FocusEvent) => any) | undefined;
        "onUpdate:modelValue"?: ((value: string) => any) | undefined;
        onSelect?: ((value: string | number | Record<string, any> | undefined) => any) | undefined;
        onSearch?: ((value: string, prefix: string) => any) | undefined;
    }>, {
        inputRef: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
        render: () => import("vue/jsx-runtime").JSX.Element;
    }, {}, {}, {
        focus(): void;
        blur(): void;
    }, {
        type: "input" | "textarea";
        prefix: string | string[];
        disabled: boolean;
        allowClear: boolean;
        defaultValue: string;
        data: (string | number | import("..").SelectOptionData | import("..").SelectOptionGroup)[];
        split: string;
    }>;
    __isFragment?: undefined;
    __isTeleport?: undefined;
    __isSuspense?: undefined;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    modelValue: StringConstructor;
    defaultValue: {
        type: StringConstructor;
        default: string;
    };
    data: {
        type: import("vue").PropType<(string | number | import("..").SelectOptionData | import("..").SelectOptionGroup)[]>;
        default: () => never[];
    };
    prefix: {
        type: import("vue").PropType<string | string[]>;
        default: string;
    };
    split: {
        type: StringConstructor;
        default: string;
    };
    type: {
        type: import("vue").PropType<"input" | "textarea">;
        default: string;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    allowClear: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & Readonly<{
    onClear?: ((ev: Event) => any) | undefined;
    onChange?: ((value: string) => any) | undefined;
    onBlur?: ((ev: FocusEvent) => any) | undefined;
    onFocus?: ((ev: FocusEvent) => any) | undefined;
    "onUpdate:modelValue"?: ((value: string) => any) | undefined;
    onSelect?: ((value: string | number | Record<string, any> | undefined) => any) | undefined;
    onSearch?: ((value: string, prefix: string) => any) | undefined;
}>, {
    inputRef: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
    render: () => import("vue/jsx-runtime").JSX.Element;
}, {}, {}, {
    focus(): void;
    blur(): void;
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    'update:modelValue': (value: string) => true;
    change: (value: string) => true;
    search: (value: string, prefix: string) => true;
    select: (value: string | number | Record<string, any> | undefined) => true;
    clear: (ev: Event) => true;
    focus: (ev: FocusEvent) => true;
    blur: (ev: FocusEvent) => true;
}, string, {
    type: "input" | "textarea";
    prefix: string | string[];
    disabled: boolean;
    allowClear: boolean;
    defaultValue: string;
    data: (string | number | import("..").SelectOptionData | import("..").SelectOptionGroup)[];
    split: string;
}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
    install: (app: App, options?: ArcoOptions | undefined) => void;
};
export declare type MentionInstance = InstanceType<typeof _Mention>;
export default Mention;
