import { ExtractPropTypes, PropType } from 'vue'; import { IconType } from '../icon'; import { BooleanType, DropPlacementsType, ShapeType, SizeType, ThemeType } from '../const/types'; export interface SelectOption { label: string | number; value: string | number; disabled?: boolean; } export declare const selectProps: { placeholder: StringConstructor; size: { type: PropType; }; placement: { type: PropType; default: string; }; width: NumberConstructor; maxTagCount: NumberConstructor; modelValue: PropType; clearable: { type: BooleanType; default: boolean; }; filterable: BooleanType; block: BooleanType; disabled: BooleanType; multiple: BooleanType; loading: BooleanType; bordered: { type: BooleanType; default: boolean; }; showArrow: { type: BooleanType; default: boolean; }; options: PropType; theme: { type: PropType; default: string; }; emptyText: StringConstructor; loadingText: StringConstructor; icon: PropType; shape: PropType; arrowIcon: PropType; onSearch: PropType<(e: InputEvent) => void>; onChange: PropType<(value: string | number | any[]) => void>; onSelect: PropType<(option: SelectOption) => void>; onOpenChange: PropType<(opened: boolean) => void>; }; export type SelectProps = ExtractPropTypes; declare const Select: import('vue').DefineComponent; }; placement: { type: PropType; default: string; }; width: NumberConstructor; maxTagCount: NumberConstructor; modelValue: PropType; clearable: { type: BooleanType; default: boolean; }; filterable: BooleanType; block: BooleanType; disabled: BooleanType; multiple: BooleanType; loading: BooleanType; bordered: { type: BooleanType; default: boolean; }; showArrow: { type: BooleanType; default: boolean; }; options: PropType; theme: { type: PropType; default: string; }; emptyText: StringConstructor; loadingText: StringConstructor; icon: PropType; shape: PropType; arrowIcon: PropType; onSearch: PropType<(e: InputEvent) => void>; onChange: PropType<(value: string | number | any[]) => void>; onSelect: PropType<(option: SelectOption) => void>; onOpenChange: PropType<(opened: boolean) => void>; }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly; }; placement: { type: PropType; default: string; }; width: NumberConstructor; maxTagCount: NumberConstructor; modelValue: PropType; clearable: { type: BooleanType; default: boolean; }; filterable: BooleanType; block: BooleanType; disabled: BooleanType; multiple: BooleanType; loading: BooleanType; bordered: { type: BooleanType; default: boolean; }; showArrow: { type: BooleanType; default: boolean; }; options: PropType; theme: { type: PropType; default: string; }; emptyText: StringConstructor; loadingText: StringConstructor; icon: PropType; shape: PropType; arrowIcon: PropType; onSearch: PropType<(e: InputEvent) => void>; onChange: PropType<(value: string | number | any[]) => void>; onSelect: PropType<(option: SelectOption) => void>; onOpenChange: PropType<(opened: boolean) => void>; }>> & Readonly<{}>, { bordered: boolean | undefined; theme: ThemeType; placement: DropPlacementsType; clearable: boolean | undefined; showArrow: boolean | undefined; }, {}, {}, { transfer: import('vue').ObjectDirective; resize: import('vue').ObjectDirective; }, string, import('vue').ComponentProvideOptions, true, {}, any>; export default Select;