import { type PropType, type StyleValue, type Ref } from 'vue'; export interface DropdownProps { rootStyle?: StyleValue; rootClass?: string; direction?: 'down' | 'up'; disabled?: boolean; awayClosable?: boolean; overlayClosable?: boolean; duration?: number; } export declare const dropdownProps: { rootStyle: PropType; rootClass: StringConstructor; direction: { type: PropType>; default: string; }; disabled: { type: BooleanConstructor; default: boolean; }; awayClosable: { type: BooleanConstructor; default: boolean; }; overlayClosable: { type: BooleanConstructor; default: boolean; }; duration: { type: NumberConstructor; default: number; }; }; export interface DropdownSlots { default(props: Record): any; } export interface DropdownOption { label?: string; value?: any; } export interface DropdownItemProps { rootStyle?: StyleValue; rootClass?: string; title?: string; label?: string; options?: DropdownOption[]; disabled?: boolean; modelValue?: any; visible?: boolean; separator?: string; placeholder?: string; } export declare const dropdownItemProps: { rootStyle: PropType; rootClass: StringConstructor; title: StringConstructor; label: StringConstructor; options: { type: PropType; default: () => never[]; }; disabled: StringConstructor; modelValue: null; visible: BooleanConstructor; separator: StringConstructor; placeholder: StringConstructor; }; export interface DropdownItemSlots { default(props: Record): any; } export interface DropdownItemEmits { (e: 'update:model-value', value: any): void; (e: 'update:visible', visible: boolean): void; } export interface DropdownContext { direction: DropdownProps['direction']; disabled: DropdownProps['disabled']; awayClosable: DropdownProps['awayClosable']; overlayClosable: DropdownProps['overlayClosable']; duration: DropdownProps['duration']; hideOthers: (instance: any) => void; register: (instance: any, expose: { hide: () => void; visible: Ref; }) => void; unregister: (instance: any) => void; } export declare const dropdownContextSymbol: unique symbol;