import { ExtractPropTypes, PropType } from 'vue';
import { ConfigurableProps } from '@vexip-ui/config';
import { ChangeEvent, SelectBaseValue, SelectFilter, SelectKeyConfig, SelectRawOption, SelectSlots } from './symbol';
type CustomChangeEvent = ChangeEvent | ((value: SelectBaseValue, data: any) => void) | ((value: string, data: any) => void) | ((value: number, data: any) => void) | ((value: boolean, data: any) => void) | ((values: SelectBaseValue[], data: any[]) => void) | ((values: string[], data: any[]) => void) | ((values: number[], data: any[]) => void) | ((value: boolean[], data: any) => void);
export declare const selectProps: {
    inherit: PropType<boolean>;
    size: PropType<"default" | "small" | "large">;
    state: PropType<"default" | "success" | "error" | "warning">;
    locale: PropType<Partial<{
        placeholder: string;
        empty: string;
        search: string;
        ariaLabel: {
            clear: string;
        };
    }>>;
    visible: PropType<boolean>;
    options: PropType<SelectRawOption[]>;
    disabled: PropType<boolean>;
    transitionName: PropType<string>;
    outsideClose: PropType<boolean>;
    placeholder: PropType<string>;
    prefix: PropType<any>;
    prefixColor: PropType<string>;
    suffix: PropType<any>;
    suffixColor: PropType<string>;
    noSuffix: PropType<boolean>;
    value: PropType<string | number | boolean | (string | number | boolean)[]>;
    multiple: PropType<boolean>;
    clearable: PropType<boolean>;
    maxListHeight: PropType<number>;
    listClass: PropType<string | Record<string, any> | (string | Record<string, any>)[]>;
    placement: PropType<"bottom" | "top" | "right" | "left" | "bottom-start" | "bottom-end" | "top-start" | "top-end" | "right-start" | "right-end" | "left-start" | "left-end">;
    transfer: PropType<string | boolean>;
    optionCheck: PropType<boolean>;
    emptyText: PropType<string>;
    staticSuffix: PropType<boolean>;
    loading: PropType<boolean>;
    loadingIcon: PropType<any>;
    loadingLock: PropType<boolean>;
    loadingEffect: PropType<string>;
    keyConfig: PropType<SelectKeyConfig>;
    filter: PropType<boolean | SelectFilter>;
    ignoreCase: PropType<boolean>;
    creatable: PropType<boolean>;
    transparent: PropType<boolean>;
    maxTagCount: PropType<number>;
    noRestTip: PropType<boolean>;
    tagType: PropType<"default" | "success" | "error" | "warning" | "info" | "cyan" | "gold" | "lime" | "magenta" | "navy" | "orange" | "pink" | "purple" | "tomato" | "primary">;
    noPreview: PropType<boolean>;
    remote: PropType<boolean>;
    fitPopper: PropType<number | boolean>;
    name: PropType<string>;
    popperAlive: PropType<boolean>;
    countLimit: PropType<number>;
    filterPosition: PropType<"in-control" | "in-list">;
    slots: PropType<SelectSlots>;
    shift: PropType<boolean>;
    onFocus: PropType<((event: FocusEvent) => void) | ((event: FocusEvent) => void)[]>;
    onBlur: PropType<((event: FocusEvent) => void) | ((event: FocusEvent) => void)[]>;
    onToggle: PropType<((visible: boolean) => void) | ((visible: boolean) => void)[]>;
    onSelect: PropType<((value: string, data: any) => void) | ((value: boolean, data: any) => void) | ((value: string | number, data: any) => void) | ((value: number, data: any) => void) | ((value: number | boolean, data: any) => void) | ((value: string | boolean, data: any) => void) | ((value: string | number | boolean, data: any) => void) | (((value: string, data: any) => void) | ((value: boolean, data: any) => void) | ((value: string | number, data: any) => void) | ((value: number, data: any) => void) | ((value: number | boolean, data: any) => void) | ((value: string | boolean, data: any) => void) | ((value: string | number | boolean, data: any) => void))[]>;
    onCancel: PropType<((value: string, data: any) => void) | ((value: boolean, data: any) => void) | ((value: string | number, data: any) => void) | ((value: number, data: any) => void) | ((value: number | boolean, data: any) => void) | ((value: string | boolean, data: any) => void) | ((value: string | number | boolean, data: any) => void) | (((value: string, data: any) => void) | ((value: boolean, data: any) => void) | ((value: string | number, data: any) => void) | ((value: number, data: any) => void) | ((value: number | boolean, data: any) => void) | ((value: string | boolean, data: any) => void) | ((value: string | number | boolean, data: any) => void))[]>;
    onChange: PropType<ChangeEvent | ((value: SelectBaseValue, data: any) => void) | ((value: string, data: any) => void) | ((value: number, data: any) => void) | ((value: boolean, data: any) => void) | ((values: SelectBaseValue[], data: any[]) => void) | ((values: string[], data: any[]) => void) | ((values: number[], data: any[]) => void) | ((value: boolean[], data: any) => void) | CustomChangeEvent[]>;
    onClickOutside: PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
    onOutsideClose: PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
    onClear: PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
    onFilterInput: PropType<((value: string) => void) | ((value: string) => void)[]>;
};
export type SelectProps = ExtractPropTypes<typeof selectProps>;
export type SelectCProps = ConfigurableProps<SelectProps>;
export {};
