import type { VNode } from 'vue'; 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 DshExpandTrigger = 'click' | 'hover'; export declare type DshIsDisabled = (data: DshCascaderOption, node: DshNode) => boolean; export declare type DshIsLeaf = (data: DshCascaderOption, node: DshNode) => boolean; export declare type DshResolve = (dataList?: DshCascaderOption[]) => void; export declare type DshLazyLoad = (node: DshNode, resolve: DshResolve) => void; export declare type DshRenderLabel = ({ node: DshNode, data: DshCascaderOption, }: { node: any; data: any; }) => VNode | VNode[]; export interface DshCascaderOption extends Record { label?: string; value?: DshCascaderNodeValue; children?: DshCascaderOption[]; disabled?: boolean; leaf?: boolean; } export interface DshCascaderProps { expandTrigger?: DshExpandTrigger; multiple?: boolean; maxCollapseTags?: number; checkStrictly?: boolean; emitPath?: boolean; lazy?: boolean; lazyLoad?: DshLazyLoad; value?: string; label?: string; children?: string; disabled?: string | DshIsDisabled; leaf?: string | DshIsLeaf; hoverThreshold?: number; } export declare type Nullable = null | T; declare type ChildrenData = DshCascaderOption[] | undefined; declare class DshNode { readonly data: Nullable; readonly config: DshCascaderConfig; readonly parent?: DshNode | undefined; readonly root: boolean; readonly uid: number; readonly level: number; readonly value: DshCascaderNodeValue; readonly label: string; readonly pathNodes: DshNode[]; readonly pathValues: DshCascaderNodePathValue; readonly pathLabels: string[]; childrenData: ChildrenData; children: DshNode[]; text: string; loaded: boolean; /** * Is it checked * * @default false */ checked: boolean; /** * Used to indicate the intermediate state of unchecked and fully checked child nodes * * @default false */ indeterminate: boolean; /** * Loading Status * * @default false */ loading: boolean; constructor(data: Nullable, config: DshCascaderConfig, parent?: DshNode | undefined, root?: boolean); get DshIsDisabled(): boolean; get DshIsLeaf(): boolean; get valueByOption(): DshCascaderNodeValue | DshCascaderNodePathValue; appendChild(childData: DshCascaderOption): DshNode; calcText(allLevels: boolean, separator: string): string; broadcast(event: string, ...args: unknown[]): void; emit(event: string, ...args: unknown[]): void; onParentCheck(checked: boolean): void; onChildCheck(): void; setCheckState(checked: boolean): void; doCheck(checked: boolean): void; } export default DshNode;