import { TreeOption, TreeOptionBase } from "../../tree/src/interface.js"; import { HTMLAttributes, Ref, VNodeChild } from "vue"; import { TreeMate, TreeNode } from "treemate"; //#region src/tree-select/src/interface.d.ts type TreeSelectOption = Omit & { children?: TreeSelectOption[]; [k: string]: unknown; }; type TreeSelectTmNode = TreeNode; type OnUpdateValue = (value: string & number & (string | number) & string[] & number[] & Array & null, option: TreeSelectOption & null & TreeSelectOption[] & Array, meta: { node: TreeSelectOption; action: 'select' | 'unselect'; } | { node: TreeSelectOption | null; action: 'delete'; } | { node: null; action: 'clear'; }) => void; type OnUpdateValueImpl = (value: string | number | (string | number) | string[] | number[] | Array | null, option: TreeSelectOption | null | Array, meta: { node: TreeSelectOption; action: 'select' | 'unselect'; } | { node: TreeSelectOption | null; action: 'delete'; } | { node: null; action: 'clear'; }) => void; type OnUpdateIndeterminateKeysImpl = (value: string | number | (string | number) | string[] | number[] | Array | null, option: TreeSelectOption | null | Array) => void; type Value = string | number | Array | null; interface TreeSelectInjection { pendingNodeKeyRef: Ref; dataTreeMate: Ref>; } declare const treeSelectInjectionKey: import("vue").InjectionKey; type TreeSelectRenderTag = (props: { option: TreeSelectOption; handleClose: () => void; }) => VNodeChild; interface TreeSelectRenderProps { option: TreeSelectOption; checked: boolean; selected: boolean; } type TreeSelectRenderTreePart = ({ option, checked, selected }: TreeSelectRenderProps) => VNodeChild; type TreeSelectRenderLabel = TreeSelectRenderTreePart; type TreeSelectRenderPrefix = TreeSelectRenderTreePart; type TreeSelectRenderSuffix = TreeSelectRenderTreePart; type TreeSelectNodeProps = (info: { option: TreeSelectOption; }) => HTMLAttributes & Record; interface TreeSelectInst { getCheckedData: () => { keys: Array; options: Array; }; getIndeterminateData: () => { keys: Array; options: Array; }; focus: () => void; focusInput: () => void; blur: () => void; blurInput: () => void; } //#endregion export { OnUpdateIndeterminateKeysImpl, OnUpdateValue, OnUpdateValueImpl, TreeSelectInjection, TreeSelectInst, TreeSelectNodeProps, TreeSelectOption, TreeSelectRenderLabel, TreeSelectRenderPrefix, TreeSelectRenderProps, TreeSelectRenderSuffix, TreeSelectRenderTag, TreeSelectRenderTreePart, TreeSelectTmNode, Value, treeSelectInjectionKey };