import type { InjectionKey, VNode } from 'vue'; import type { Nullable } from 'code-monkey-ui/es/utils'; import type { default as DshCascaderNode, DshCascaderOption, DshCascaderProps, DshExpandTrigger } from './node'; export type { DshCascaderNode, DshCascaderOption, DshCascaderProps, DshExpandTrigger, }; export declare type DshCascaderNodeValue = string | number; export declare type DshCascaderNodePathValue = DshCascaderNodeValue[]; export declare type DshCascaderValue = DshCascaderNodeValue | DshCascaderNodePathValue | (DshCascaderNodeValue | DshCascaderNodePathValue)[]; export declare type DshCascaderConfig = Required; export declare type DshIsDisabled = (data: DshCascaderOption, node: DshCascaderNode) => boolean; export declare type DshIsLeaf = (data: DshCascaderOption, node: DshCascaderNode) => boolean; export declare type DshResolve = (dataList?: DshCascaderOption[]) => void; export declare type DshLazyLoad = (node: DshCascaderNode, resolve: DshResolve) => void; export declare type DshRenderLabel = ({ node: DshCascaderNode, data: DshCascaderOption, }: { node: any; data: any; }) => VNode | VNode[]; export interface DshTag { node?: DshCascaderNode; key: number; text: string; hitState?: boolean; closable: boolean; isCollapseTag: boolean; } export interface DshCascaderPanelContext { config: DshCascaderConfig; expandingNode: Nullable; checkedNodes: DshCascaderNode[]; isHoverMenu: boolean; initialLoaded: boolean; renderLabelFn: DshRenderLabel; lazyLoad: (node?: DshCascaderNode, cb?: (dataList: DshCascaderOption[]) => void) => void; expandNode: (node: DshCascaderNode, silent?: boolean) => void; handleCheckChange: (node: DshCascaderNode, checked: boolean, emitClose?: boolean) => void; } export declare const DSH_CASCADER_PANEL_INJECTION_KEY: InjectionKey;