import { IconValue } from '../../composables/icons.js'; import type { PropType } from 'vue'; import type { VTreeviewItemSlots } from './VTreeviewItem.js'; import type { InternalListItem } from '../VList/VList.js'; import type { SelectStrategyProp } from '../../composables/nested/nested.js'; import type { GenericProps, IndentLinesVariant, IndentLineType } from '../../util/index.js'; export type VTreeviewChildrenSlots = { [K in keyof Omit]: VTreeviewItemSlots[K] & { item: T; internalItem: InternalListItem; }; } & { default: never; item: { props: InternalListItem['props']; item: T; internalItem: InternalListItem; }; header: { props: InternalListItem['props']; item: T; internalItem: InternalListItem; loading: boolean; }; footer: { props: { indentLines?: IndentLineType[]; }; item: T; internalItem: InternalListItem; loading: boolean; }; divider: { props: InternalListItem['props']; }; subheader: { props: InternalListItem['props']; }; }; export declare const makeVTreeviewChildrenProps: (defaults?: Defaults | undefined) => { density: unknown extends Defaults["density"] ? { type: PropType; default: string; validator: (v: any) => boolean; } : Omit<{ type: PropType; default: string; validator: (v: any) => boolean; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["density"] ? import("../../composables/density.js").Density : Defaults["density"] | NonNullable; }; hideActions: unknown extends Defaults["hideActions"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["hideActions"] ? boolean : boolean | Defaults["hideActions"]; }; fluid: unknown extends Defaults["fluid"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["fluid"] ? boolean : boolean | Defaults["fluid"]; }; disabled: unknown extends Defaults["disabled"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["disabled"] ? boolean : boolean | Defaults["disabled"]; }; loadChildren: unknown extends Defaults["loadChildren"] ? PropType<(item: unknown) => Promise> : { type: PropType Promise : ((item: unknown) => Promise) | Defaults["loadChildren"]>; default: unknown extends Defaults["loadChildren"] ? (item: unknown) => Promise : ((item: unknown) => Promise) | Defaults["loadChildren"]; }; loadingIcon: unknown extends Defaults["loadingIcon"] ? { type: StringConstructor; default: string; } : Omit<{ type: StringConstructor; default: string; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["loadingIcon"] ? string : string | Defaults["loadingIcon"]; }; items: unknown extends Defaults["items"] ? PropType[]> : { type: PropType[] : readonly InternalListItem[] | Defaults["items"]>; default: unknown extends Defaults["items"] ? readonly InternalListItem[] : readonly InternalListItem[] | Defaults["items"]; }; openOnClick: unknown extends Defaults["openOnClick"] ? { type: BooleanConstructor; default: undefined; } : Omit<{ type: BooleanConstructor; default: undefined; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["openOnClick"] ? boolean : boolean | Defaults["openOnClick"]; }; indeterminateIcon: unknown extends Defaults["indeterminateIcon"] ? { type: PropType; default: string; } : Omit<{ type: PropType; default: string; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["indeterminateIcon"] ? IconValue : Defaults["indeterminateIcon"] | NonNullable; }; falseIcon: unknown extends Defaults["falseIcon"] ? PropType : { type: PropType; default: unknown extends Defaults["falseIcon"] ? IconValue : Defaults["falseIcon"] | NonNullable; }; trueIcon: unknown extends Defaults["trueIcon"] ? PropType : { type: PropType; default: unknown extends Defaults["trueIcon"] ? IconValue : Defaults["trueIcon"] | NonNullable; }; returnObject: unknown extends Defaults["returnObject"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["returnObject"] ? boolean : boolean | Defaults["returnObject"]; }; activatable: unknown extends Defaults["activatable"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["activatable"] ? boolean : boolean | Defaults["activatable"]; }; selectable: unknown extends Defaults["selectable"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["selectable"] ? boolean : boolean | Defaults["selectable"]; }; selectedColor: unknown extends Defaults["selectedColor"] ? StringConstructor : { type: PropType; default: unknown extends Defaults["selectedColor"] ? string : string | Defaults["selectedColor"]; }; selectStrategy: unknown extends Defaults["selectStrategy"] ? PropType : { type: PropType; default: unknown extends Defaults["selectStrategy"] ? SelectStrategyProp : Defaults["selectStrategy"] | NonNullable; }; index: unknown extends Defaults["index"] ? NumberConstructor : { type: PropType; default: unknown extends Defaults["index"] ? number : number | Defaults["index"]; }; isLastGroup: unknown extends Defaults["isLastGroup"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["isLastGroup"] ? boolean : boolean | Defaults["isLastGroup"]; }; separateRoots: unknown extends Defaults["separateRoots"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["separateRoots"] ? boolean : boolean | Defaults["separateRoots"]; }; parentIndentLines: unknown extends Defaults["parentIndentLines"] ? PropType : { type: PropType; default: unknown extends Defaults["parentIndentLines"] ? IndentLineType[] : IndentLineType[] | Defaults["parentIndentLines"]; }; indentLinesVariant: unknown extends Defaults["indentLinesVariant"] ? PropType : { type: PropType; default: unknown extends Defaults["indentLinesVariant"] ? IndentLinesVariant : Defaults["indentLinesVariant"] | NonNullable; }; path: unknown extends Defaults["path"] ? { type: PropType; default: () => never[]; } : Omit<{ type: PropType; default: () => never[]; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["path"] ? number[] : number[] | Defaults["path"]; }; }; export declare const VTreeviewChildren: { new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{ density: import("../../composables/density.js").Density; hideActions: boolean; fluid: boolean; disabled: boolean; loadingIcon: string; indeterminateIcon: IconValue; returnObject: boolean; activatable: boolean; selectable: boolean; isLastGroup: boolean; separateRoots: boolean; path: number[]; } & { loadChildren?: ((item: unknown) => Promise) | undefined; openOnClick?: boolean | undefined; falseIcon?: IconValue | undefined; trueIcon?: IconValue | undefined; selectedColor?: string | undefined; selectStrategy?: SelectStrategyProp | undefined; index?: number | undefined; parentIndentLines?: IndentLineType[] | undefined; indentLinesVariant?: IndentLinesVariant | undefined; }, () => (void | string | number | boolean | JSX.Element | import("vue").VNodeArrayChildren | null)[] | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit, "$children" | "items" | "v-slot:append" | "v-slot:default" | "v-slot:divider" | "v-slot:footer" | "v-slot:header" | "v-slot:item" | "v-slot:prepend" | "v-slot:subheader" | "v-slot:subtitle" | "v-slot:title" | "v-slot:toggle" | "v-slots">, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, { density: import("../../composables/density.js").Density; hideActions: boolean; fluid: boolean; disabled: boolean; loadingIcon: string; openOnClick: boolean; indeterminateIcon: IconValue; returnObject: boolean; activatable: boolean; selectable: boolean; isLastGroup: boolean; separateRoots: boolean; path: number[]; }, true, {}, import("vue").SlotsType; internalItem: InternalListItem>; }) => import("vue").VNode[]; append: (arg: import("../VList/VListItem.js").ListItemSlot & { item: InternalListItem; internalItem: InternalListItem>; }) => import("vue").VNode[]; title: (arg: import("../VList/VListItem.js").ListItemTitleSlot & { item: InternalListItem; internalItem: InternalListItem>; }) => import("vue").VNode[]; subtitle: (arg: import("../VList/VListItem.js").ListItemSubtitleSlot & { item: InternalListItem; internalItem: InternalListItem>; }) => import("vue").VNode[]; toggle: (arg: import("../VList/VListItem.js").ListItemSlot & { props: { onClick: (e: PointerEvent) => void; }; } & { loading: boolean; } & { item: InternalListItem; internalItem: InternalListItem>; }) => import("vue").VNode[]; default: () => import("vue").VNode[]; item: (arg: { props: InternalListItem['props']; item: InternalListItem; internalItem: InternalListItem>; }) => import("vue").VNode[]; header: (arg: { props: InternalListItem['props']; item: InternalListItem; internalItem: InternalListItem>; loading: boolean; }) => import("vue").VNode[]; footer: (arg: { props: { indentLines?: IndentLineType[]; }; item: InternalListItem; internalItem: InternalListItem>; loading: boolean; }) => import("vue").VNode[]; divider: (arg: { props: InternalListItem['props']; }) => import("vue").VNode[]; subheader: (arg: { props: InternalListItem['props']; }) => import("vue").VNode[]; }>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, { density: import("../../composables/density.js").Density; hideActions: boolean; fluid: boolean; disabled: boolean; loadingIcon: string; indeterminateIcon: IconValue; returnObject: boolean; activatable: boolean; selectable: boolean; isLastGroup: boolean; separateRoots: boolean; path: number[]; } & { loadChildren?: ((item: unknown) => Promise) | undefined; openOnClick?: boolean | undefined; falseIcon?: IconValue | undefined; trueIcon?: IconValue | undefined; selectedColor?: string | undefined; selectStrategy?: SelectStrategyProp | undefined; index?: number | undefined; parentIndentLines?: IndentLineType[] | undefined; indentLinesVariant?: IndentLinesVariant | undefined; }, () => (void | string | number | boolean | JSX.Element | import("vue").VNodeArrayChildren | null)[] | undefined, {}, {}, {}, { density: import("../../composables/density.js").Density; hideActions: boolean; fluid: boolean; disabled: boolean; loadingIcon: string; openOnClick: boolean; indeterminateIcon: IconValue; returnObject: boolean; activatable: boolean; selectable: boolean; isLastGroup: boolean; separateRoots: boolean; path: number[]; }>; __isFragment?: never; __isTeleport?: never; __isSuspense?: never; } & import("vue").ComponentOptionsBase<{ density: import("../../composables/density.js").Density; hideActions: boolean; fluid: boolean; disabled: boolean; loadingIcon: string; indeterminateIcon: IconValue; returnObject: boolean; activatable: boolean; selectable: boolean; isLastGroup: boolean; separateRoots: boolean; path: number[]; } & { loadChildren?: ((item: unknown) => Promise) | undefined; openOnClick?: boolean | undefined; falseIcon?: IconValue | undefined; trueIcon?: IconValue | undefined; selectedColor?: string | undefined; selectStrategy?: SelectStrategyProp | undefined; index?: number | undefined; parentIndentLines?: IndentLineType[] | undefined; indentLinesVariant?: IndentLinesVariant | undefined; }, () => (void | string | number | boolean | JSX.Element | import("vue").VNodeArrayChildren | null)[] | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit, "$children" | "items" | "v-slot:append" | "v-slot:default" | "v-slot:divider" | "v-slot:footer" | "v-slot:header" | "v-slot:item" | "v-slot:prepend" | "v-slot:subheader" | "v-slot:subtitle" | "v-slot:title" | "v-slot:toggle" | "v-slots">, string, { density: import("../../composables/density.js").Density; hideActions: boolean; fluid: boolean; disabled: boolean; loadingIcon: string; openOnClick: boolean; indeterminateIcon: IconValue; returnObject: boolean; activatable: boolean; selectable: boolean; isLastGroup: boolean; separateRoots: boolean; path: number[]; }, {}, string, import("vue").SlotsType; internalItem: InternalListItem>; }) => import("vue").VNode[]; append: (arg: import("../VList/VListItem.js").ListItemSlot & { item: InternalListItem; internalItem: InternalListItem>; }) => import("vue").VNode[]; title: (arg: import("../VList/VListItem.js").ListItemTitleSlot & { item: InternalListItem; internalItem: InternalListItem>; }) => import("vue").VNode[]; subtitle: (arg: import("../VList/VListItem.js").ListItemSubtitleSlot & { item: InternalListItem; internalItem: InternalListItem>; }) => import("vue").VNode[]; toggle: (arg: import("../VList/VListItem.js").ListItemSlot & { props: { onClick: (e: PointerEvent) => void; }; } & { loading: boolean; } & { item: InternalListItem; internalItem: InternalListItem>; }) => import("vue").VNode[]; default: () => import("vue").VNode[]; item: (arg: { props: InternalListItem['props']; item: InternalListItem; internalItem: InternalListItem>; }) => import("vue").VNode[]; header: (arg: { props: InternalListItem['props']; item: InternalListItem; internalItem: InternalListItem>; loading: boolean; }) => import("vue").VNode[]; footer: (arg: { props: { indentLines?: IndentLineType[]; }; item: InternalListItem; internalItem: InternalListItem>; loading: boolean; }) => import("vue").VNode[]; divider: (arg: { props: InternalListItem['props']; }) => import("vue").VNode[]; subheader: (arg: { props: InternalListItem['props']; }) => import("vue").VNode[]; }>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new (props: { items?: readonly T[]; }, slots: VTreeviewChildrenSlots) => GenericProps) & import("../../util/index.js").FilterPropsOptions<{ density: { type: PropType; default: string; validator: (v: any) => boolean; }; hideActions: BooleanConstructor; fluid: BooleanConstructor; disabled: BooleanConstructor; loadChildren: PropType<(item: unknown) => Promise>; loadingIcon: { type: StringConstructor; default: string; }; items: PropType; openOnClick: { type: BooleanConstructor; default: undefined; }; indeterminateIcon: { type: PropType; default: string; }; falseIcon: PropType; trueIcon: PropType; returnObject: BooleanConstructor; activatable: BooleanConstructor; selectable: BooleanConstructor; selectedColor: StringConstructor; selectStrategy: PropType; index: NumberConstructor; isLastGroup: BooleanConstructor; separateRoots: BooleanConstructor; parentIndentLines: PropType; indentLinesVariant: PropType; path: { type: PropType; default: () => never[]; }; }, import("vue").ExtractPropTypes<{ density: { type: PropType; default: string; validator: (v: any) => boolean; }; hideActions: BooleanConstructor; fluid: BooleanConstructor; disabled: BooleanConstructor; loadChildren: PropType<(item: unknown) => Promise>; loadingIcon: { type: StringConstructor; default: string; }; items: PropType; openOnClick: { type: BooleanConstructor; default: undefined; }; indeterminateIcon: { type: PropType; default: string; }; falseIcon: PropType; trueIcon: PropType; returnObject: BooleanConstructor; activatable: BooleanConstructor; selectable: BooleanConstructor; selectedColor: StringConstructor; selectStrategy: PropType; index: NumberConstructor; isLastGroup: BooleanConstructor; separateRoots: BooleanConstructor; parentIndentLines: PropType; indentLinesVariant: PropType; path: { type: PropType; default: () => never[]; }; }>>;