import { NLocale } from "../../locales/common/enUS.js"; import { ScrollbarProps } from "../../_internal/scrollbar/src/Scrollbar.js"; import "../../_internal/index.js"; import { CascaderTheme } from "../styles/light.js"; import "../styles/index.js"; import { CascaderSpinProps } from "./public-types.js"; import "../../locales/index.js"; import { MergedTheme } from "../../_mixins/use-theme.js"; import "../../_mixins/index.js"; import { CSSProperties, Ref, Slots, VNode, VNodeChild } from "vue"; import { CheckStrategy, TreeNode } from "treemate"; //#region src/cascader/src/interface.d.ts type ValueAtom = string | number; type Value = ValueAtom | ValueAtom[]; type Key = ValueAtom; interface CascaderOption { label?: string; value?: ValueAtom; disabled?: boolean; children?: CascaderOption[]; [key: string]: unknown; } type ExpandTrigger = 'hover' | 'click'; type TmNode = TreeNode; type Filter = (pattern: string, option: CascaderOption, path: CascaderOption[]) => boolean; type OnLoad = (option: CascaderOption) => Promise; type OnUpdateValue = (value: string & number & string[] & number[] & Array & (string | null) & (number | null) & (string[] | null) & (number[] | null) & (Array | null), option: null & CascaderOption & CascaderOption[] & Array, path: null & CascaderOption[] & Array) => void; type OnUpdateValueImpl = (value: Value | null, option: CascaderOption | null | Array, path: Array | CascaderOption[] | null) => void; type MenuModel = TmNode[][]; interface CascaderInjection { slots: Slots; mergedClsPrefixRef: Ref; mergedThemeRef: Ref>; mergedValueRef: Ref; checkedKeysRef: Ref; indeterminateKeysRef: Ref; hoverKeyPathRef: Ref; mergedCheckStrategyRef: Ref; multipleRef: Ref; keyboardKeyRef: Ref; hoverKeyRef: Ref; remoteRef: Ref; loadingKeySetRef: Ref>; expandTriggerRef: Ref; isMountedRef: Ref; cascadeRef: Ref; onLoadRef: Ref<((value: CascaderOption) => Promise) | undefined>; localeRef: Ref; virtualScrollRef: Ref; optionHeightRef: Ref; labelFieldRef: Ref; showCheckboxRef: Ref; getColumnStyleRef: Ref<((detail: { level: number; }) => string | CSSProperties) | undefined>; renderPrefixRef: Ref<((info: { option: CascaderOption; checked: boolean; node: VNode | null; }) => VNodeChild) | undefined>; renderSuffixRef: Ref<((info: { option: CascaderOption; checked: boolean; node: VNode | null; }) => VNodeChild) | undefined>; syncCascaderMenuPosition: () => void; syncSelectMenuPosition: () => void; updateKeyboardKey: (value: Key | null) => void; updateHoverKey: (value: Key | null) => void; addLoadingKey: (value: Key) => void; deleteLoadingKey: (value: Key) => void; doCheck: (value: Key) => void; doUncheck: (value: Key) => void; closeMenu: (returnFocus?: boolean) => void; handleSelectMenuClickOutside: (e: MouseEvent) => void; handleCascaderMenuClickOutside: (e: MouseEvent) => void; renderLabelRef: Ref<((option: CascaderOption, checked: boolean) => VNodeChild) | undefined>; spinPropsRef: Ref; scrollbarPropsRef: Ref; clearPattern: () => void; } interface CascaderSubmenuInstance { scroll: (index: number, elSize: number) => void; } interface CascaderMenuExposedMethods { scroll: (depth: number, index: number, elSize: number) => void; showErrorMessage: (label: string) => void; } type CascaderMenuInstance = { $el: HTMLElement; } & CascaderMenuExposedMethods; interface SelectMenuInstance { prev: () => void; next: () => void; enter: () => boolean; } declare const cascaderInjectionKey: import("vue").InjectionKey; interface CascaderInst { focus: () => void; blur: () => void; getCheckedData: () => { keys: Key[]; options: Array; }; getIndeterminateData: () => { keys: Key[]; options: Array; }; } //#endregion export { CascaderInjection, CascaderInst, CascaderMenuExposedMethods, CascaderMenuInstance, CascaderOption, CascaderSubmenuInstance, ExpandTrigger, Filter, Key, MenuModel, OnLoad, OnUpdateValue, OnUpdateValueImpl, SelectMenuInstance, TmNode, Value, ValueAtom, cascaderInjectionKey };