import { type PropType, type StyleValue } from 'vue'; export interface CascaderFieldKeys { label?: string; value?: string; disabled?: string; children?: string; } export interface CascaderOption { label?: string; value?: string | number; disabled?: boolean; children?: CascaderOption[]; [key: PropertyKey]: any; } export interface CascaderProps { rootStyle?: StyleValue; rootClass?: string; modelValue?: string | number; options?: CascaderOption[]; fieldKeys?: CascaderFieldKeys; hintText?: string; labelRender?: (option: CascaderOption) => string; } export declare const cascaderProps: { rootStyle: PropType; rootClass: StringConstructor; modelValue: (StringConstructor | NumberConstructor)[]; options: { type: PropType; default: () => PropType; }; fieldKeys: PropType; hintText: StringConstructor; labelRender: PropType<((option: CascaderOption) => string) | undefined>; }; export interface CascaderSlots { top(props: { tabIndex: number; }): any; } export interface CascaderEmits { (e: 'update:model-value', value: string | number, selectedOptions: CascaderOption[]): void; (e: 'select', option: CascaderOption, tabIndex: number): void; } export interface CascaderTab { options: CascaderOption[]; selected: CascaderOption | null; } export declare const defaultFieldKeys: CascaderFieldKeys; export declare function getSelectedOptionsByValue(options: CascaderOption[], value: string | number, fieldKeys: Required): CascaderOption[] | undefined;