import type { Component, PropType } from 'vue';
import type { ComponentSize } from 'element-plus';
import type { ISelectProps, SelectConfig, SelectDataItem } from './type';
type SelectKeys = Array<Exclude<keyof ISelectProps, 'data' | 'config'>>;
export declare const selectDataProps: {
    data: {
        type: PropType<SelectDataItem[]>;
        default: () => never[];
    };
    config: {
        type: PropType<SelectConfig>;
        default: () => {};
    };
};
export declare const selectCommonProps: {
    name: StringConstructor;
    id: StringConstructor;
    autocomplete: StringConstructor;
    automaticDropdown: BooleanConstructor;
    size: PropType<ComponentSize>;
    disabled: BooleanConstructor;
    clearable: BooleanConstructor;
    filterable: BooleanConstructor;
    allowCreate: BooleanConstructor;
    loading: BooleanConstructor;
    remote: BooleanConstructor;
    loadingText: StringConstructor;
    noMatchText: StringConstructor;
    noDataText: StringConstructor;
    remoteMethod: FunctionConstructor;
    multiple: BooleanConstructor;
    multipleLimit: {
        type: NumberConstructor;
        default: number;
    };
    placeholder: StringConstructor;
    defaultFirstOption: BooleanConstructor;
    reserveKeyword: BooleanConstructor;
    valueKey: StringConstructor;
    collapseTags: BooleanConstructor;
    teleported: {
        type: BooleanConstructor;
        default: boolean;
    };
    clearIcon: PropType<string | Component>;
    fitInputWidth: BooleanConstructor;
    suffixIcon: PropType<string | Component>;
    tagType: {
        type: PropType<"success" | "info" | "warning" | "danger">;
        default: string;
    };
    effect: {
        type: PropType<"light" | "dark" | string>;
        default: string;
    };
    collapseTagsTooltip: BooleanConstructor;
    persistent: {
        type: BooleanConstructor;
        default: boolean;
    };
    validateEvent: {
        type: BooleanConstructor;
        default: boolean;
    };
};
export declare const selectProps: {
    modelValue: (BooleanConstructor | ObjectConstructor | StringConstructor | ArrayConstructor | NumberConstructor)[];
    filterMethod: FunctionConstructor;
    popperClass: StringConstructor;
    name: StringConstructor;
    id: StringConstructor;
    autocomplete: StringConstructor;
    automaticDropdown: BooleanConstructor;
    size: PropType<ComponentSize>;
    disabled: BooleanConstructor;
    clearable: BooleanConstructor;
    filterable: BooleanConstructor;
    allowCreate: BooleanConstructor;
    loading: BooleanConstructor;
    remote: BooleanConstructor;
    loadingText: StringConstructor;
    noMatchText: StringConstructor;
    noDataText: StringConstructor;
    remoteMethod: FunctionConstructor;
    multiple: BooleanConstructor;
    multipleLimit: {
        type: NumberConstructor;
        default: number;
    };
    placeholder: StringConstructor;
    defaultFirstOption: BooleanConstructor;
    reserveKeyword: BooleanConstructor;
    valueKey: StringConstructor;
    collapseTags: BooleanConstructor;
    teleported: {
        type: BooleanConstructor;
        default: boolean;
    };
    clearIcon: PropType<string | Component>;
    fitInputWidth: BooleanConstructor;
    suffixIcon: PropType<string | Component>;
    tagType: {
        type: PropType<"success" | "info" | "warning" | "danger">;
        default: string;
    };
    effect: {
        type: PropType<"light" | "dark" | string>;
        default: string;
    };
    collapseTagsTooltip: BooleanConstructor;
    persistent: {
        type: BooleanConstructor;
        default: boolean;
    };
    validateEvent: {
        type: BooleanConstructor;
        default: boolean;
    };
    data: {
        type: PropType<SelectDataItem[]>;
        default: () => never[];
    };
    config: {
        type: PropType<SelectConfig>;
        default: () => {};
    };
};
export declare const selectEmits: {
    'update:modelValue': (value?: Array<unknown> | string | number | boolean | object) => value is string | number | boolean | object | any[] | unknown[];
};
export declare const selectKeys: SelectKeys;
export {};
