import { PropType } from 'vue';
import { OptionProps } from './Option';
import { filterOption as defaultFilterOption, validateSearch as defaultValidateSearch } from './util';
import { VueTypeDef, VueTypeValidableDef } from 'vue-types';
export declare const PlaceMent: ["top", "bottom"];
export type Direction = 'ltr' | 'rtl';
export declare const mentionsProps: {
    autofocus: {
        type: BooleanConstructor;
        default: undefined;
    };
    prefix: VueTypeDef<string | string[]>;
    prefixCls: StringConstructor;
    value: StringConstructor;
    disabled: {
        type: BooleanConstructor;
        default: undefined;
    };
    split: StringConstructor;
    transitionName: StringConstructor;
    placement: VueTypeDef<"bottom" | "top">;
    character: VueTypeValidableDef<any>;
    characterRender: FunctionConstructor;
    filterOption: {
        type: PropType<typeof defaultFilterOption | false>;
    };
    validateSearch: FunctionConstructor;
    getPopupContainer: {
        type: PropType<() => HTMLElement>;
    };
    options: {
        type: PropType<OptionProps[]>;
        default: OptionProps[];
    };
    loading: {
        type: BooleanConstructor;
        default: undefined;
    };
    rows: (StringConstructor | NumberConstructor)[];
    direction: {
        type: PropType<Direction>;
    };
};
export declare const vcMentionsProps: {
    dropdownClassName: StringConstructor;
    autofocus: {
        type: BooleanConstructor;
        default: undefined;
    };
    prefix: VueTypeDef<string | string[]>;
    prefixCls: StringConstructor;
    value: StringConstructor;
    disabled: {
        type: BooleanConstructor;
        default: undefined;
    };
    split: StringConstructor;
    transitionName: StringConstructor;
    placement: VueTypeDef<"bottom" | "top">;
    character: VueTypeValidableDef<any>;
    characterRender: FunctionConstructor;
    filterOption: {
        type: PropType<typeof defaultFilterOption | false>;
    };
    validateSearch: FunctionConstructor;
    getPopupContainer: {
        type: PropType<() => HTMLElement>;
    };
    options: {
        type: PropType<OptionProps[]>;
        default: OptionProps[];
    };
    loading: {
        type: BooleanConstructor;
        default: undefined;
    };
    rows: (StringConstructor | NumberConstructor)[];
    direction: {
        type: PropType<Direction>;
    };
};
export declare const defaultProps: {
    prefix: string;
    split: string;
    rows: number;
    validateSearch: typeof defaultValidateSearch;
    filterOption: any;
};
declare const _default: {
    dropdownClassName: StringConstructor;
    autofocus: {
        type: BooleanConstructor;
        default: undefined;
    };
    prefix: VueTypeDef<string | string[]>;
    prefixCls: StringConstructor;
    value: StringConstructor;
    disabled: {
        type: BooleanConstructor;
        default: undefined;
    };
    split: StringConstructor;
    transitionName: StringConstructor;
    placement: VueTypeDef<"bottom" | "top">;
    character: VueTypeValidableDef<any>;
    characterRender: FunctionConstructor;
    filterOption: {
        type: PropType<typeof defaultFilterOption | false>;
    };
    validateSearch: FunctionConstructor;
    getPopupContainer: {
        type: PropType<() => HTMLElement>;
    };
    options: {
        type: PropType<OptionProps[]>;
        default: OptionProps[];
    };
    loading: {
        type: BooleanConstructor;
        default: undefined;
    };
    rows: (StringConstructor | NumberConstructor)[];
    direction: {
        type: PropType<Direction>;
    };
};
export default _default;
