import { VNode, PropType } from 'vue'; import { BasicCascaderData, BasicEntity, ShowNextType, BasicData, Virtualize } from '@douyinfe/semi-foundation/lib/es/cascader/foundation'; import { BaseProps } from '../_base/baseComponent'; import { CombineProps, VueJsxNode } from '../interface'; export interface CascaderData extends BasicCascaderData { label: VNode | string; } export interface Entity extends BasicEntity { children?: Array; data: CascaderData; parent?: Entity; } export interface Entities { [idx: string]: Entity; } export interface Data extends BasicData { data: CascaderData; searchText: VNode[] | string[]; } export interface FilterRenderProps { className: string; inputValue: string; disabled: boolean; data: CascaderData[]; checkStatus: { checked: boolean; halfChecked: boolean; }; selected: boolean; onClick: (e: MouseEvent) => void; onCheck: (e: MouseEvent) => void; } export interface CascaderItemProps extends BaseProps { activeKeys: Set; selectedKeys: Set; loadedKeys: Set; loadingKeys: Set; onItemClick: (e: MouseEvent | KeyboardEvent, item: Entity | Data) => void; onItemHover: (e: MouseEvent, item: Entity) => void; showNext: ShowNextType; onItemCheckboxClick: (item: Entity | Data) => void; onListScroll: (e: any, ind: number) => void; searchable: boolean; keyword: string; empty?: boolean; emptyContent?: VNode | string; loadData?: (selectOptions: CascaderData[]) => Promise; data: Array; separator: string; multiple: boolean; checkedKeys: Set; halfCheckedKeys: Set; filterRender?: (props: FilterRenderProps) => VueJsxNode; virtualize?: Virtualize; expandIcon?: VNode | string; } export declare const vuePropsType: CombineProps; declare const Item: import("vue").DefineComponent>; default?: any; required: true; }; selectedKeys: { type: PropType>; default?: any; required: true; }; loadedKeys: { type: PropType>; default?: any; required: true; }; loadingKeys: { type: PropType>; default?: any; required: true; }; onItemClick: { type: PropType<(e: MouseEvent | KeyboardEvent, item: Entity | Data) => void>; default?: any; required: true; }; onItemHover: { type: PropType<(e: MouseEvent, item: Entity) => void>; default?: any; required: true; }; showNext: { type: PropType; default?: any; required: true; }; onItemCheckboxClick: { type: PropType<(item: Entity | Data) => void>; default?: any; required: true; }; onListScroll: { type: PropType<(e: any, ind: number) => void>; default?: any; required: true; }; searchable: { type: PropType; default?: any; required: true; }; keyword: { type: PropType; default?: any; required: true; }; empty: PropType | { type: PropType; default?: any; required?: false; }; emptyContent: PropType> | { type: PropType>; default?: any; required?: false; }; loadData: PropType<(selectOptions: CascaderData[]) => Promise> | { type: PropType<(selectOptions: CascaderData[]) => Promise>; default?: any; required?: false; }; data: { type: PropType<(Entity | Data)[]>; default?: any; required: true; }; separator: { type: PropType; default?: any; required: true; }; multiple: { type: PropType; default?: any; required: true; }; checkedKeys: { type: PropType>; default?: any; required: true; }; halfCheckedKeys: { type: PropType>; default?: any; required: true; }; filterRender: PropType<(props: FilterRenderProps) => VueJsxNode> | { type: PropType<(props: FilterRenderProps) => VueJsxNode>; default?: any; required?: false; }; virtualize: PropType | { type: PropType; default?: any; required?: false; }; expandIcon: PropType> | { type: PropType>; default?: any; required?: false; }; style: PropType | { type: PropType; default?: any; required?: false; }; className: PropType | { type: PropType; default?: any; required?: false; }; }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly>; default?: any; required: true; }; selectedKeys: { type: PropType>; default?: any; required: true; }; loadedKeys: { type: PropType>; default?: any; required: true; }; loadingKeys: { type: PropType>; default?: any; required: true; }; onItemClick: { type: PropType<(e: MouseEvent | KeyboardEvent, item: Entity | Data) => void>; default?: any; required: true; }; onItemHover: { type: PropType<(e: MouseEvent, item: Entity) => void>; default?: any; required: true; }; showNext: { type: PropType; default?: any; required: true; }; onItemCheckboxClick: { type: PropType<(item: Entity | Data) => void>; default?: any; required: true; }; onListScroll: { type: PropType<(e: any, ind: number) => void>; default?: any; required: true; }; searchable: { type: PropType; default?: any; required: true; }; keyword: { type: PropType; default?: any; required: true; }; empty: PropType | { type: PropType; default?: any; required?: false; }; emptyContent: PropType> | { type: PropType>; default?: any; required?: false; }; loadData: PropType<(selectOptions: CascaderData[]) => Promise> | { type: PropType<(selectOptions: CascaderData[]) => Promise>; default?: any; required?: false; }; data: { type: PropType<(Entity | Data)[]>; default?: any; required: true; }; separator: { type: PropType; default?: any; required: true; }; multiple: { type: PropType; default?: any; required: true; }; checkedKeys: { type: PropType>; default?: any; required: true; }; halfCheckedKeys: { type: PropType>; default?: any; required: true; }; filterRender: PropType<(props: FilterRenderProps) => VueJsxNode> | { type: PropType<(props: FilterRenderProps) => VueJsxNode>; default?: any; required?: false; }; virtualize: PropType | { type: PropType; default?: any; required?: false; }; expandIcon: PropType> | { type: PropType>; default?: any; required?: false; }; style: PropType | { type: PropType; default?: any; required?: false; }; className: PropType | { type: PropType; default?: any; required?: false; }; }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>; export default Item;