import type { Prop } from 'vue';
import type { MakeSlots } from '../../utils';
import type { ListChildrenSlots } from './list-children';
export type ListItemProps = {
    [key: string]: any;
    $type?: 'item' | 'subheader' | 'divider';
    $children?: (string | ListItemProps)[];
};
export type InternalListItemProps = {
    type?: ListItemProps['$type'];
    props?: Record<string, any>;
    children?: InternalListItemProps[];
};
export type ListSlots<T> = ListChildrenSlots<T> & MakeSlots<{
    prepend: [];
    append: [];
}>;
export declare const List: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: Partial<{
            fixed: boolean;
            nav: boolean;
            disabled: boolean;
            tag: string;
            variant: "contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined";
            absolute: boolean;
            size: NonNullable<import("../../composables/size").Size | undefined> | undefined;
            density: "high" | "low" | "medium" | "ultra-low" | "ultra-high" | undefined;
            shape: "circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill";
            opened: boolean | string[];
            deleteAfterUnmount: boolean;
            selectStrategy: NonNullable<import("../../composables/nested").SelectStrategy>;
            openStrategy: NonNullable<import("../../composables/nested").OpenStrategy>;
            activeStrategy: NonNullable<import("../../composables/nested").ActiveStrategy>;
        }> & Omit<Readonly<import("vue").ExtractPropTypes<Omit<{
            disabled: BooleanConstructor;
            elevation: {
                type: (StringConstructor | NumberConstructor)[];
                validator(v: any): boolean;
            };
            shape: {
                type: import("vue").PropType<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill">;
                default: string;
            };
            border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
            density: {
                type: import("vue").PropType<"high" | "low" | "medium" | "ultra-low" | "ultra-high" | undefined>;
                default: string;
                validator: (v: any) => boolean;
            };
            size: Omit<{
                type: import("vue").PropType<import("../../composables/size").Size | undefined>;
                default: string;
            }, "type" | "default"> & {
                type: import("vue").PropType<NonNullable<import("../../composables/size").Size | undefined> | undefined>;
                default: NonNullable<import("../../composables/size").Size | undefined> | undefined;
            };
            height: (StringConstructor | NumberConstructor)[];
            maxHeight: (StringConstructor | NumberConstructor)[];
            maxWidth: (StringConstructor | NumberConstructor)[];
            minHeight: (StringConstructor | NumberConstructor)[];
            minWidth: (StringConstructor | NumberConstructor)[];
            width: (StringConstructor | NumberConstructor)[];
            absolute: BooleanConstructor;
            bottom: (StringConstructor | BooleanConstructor | NumberConstructor)[];
            fixed: BooleanConstructor;
            left: (StringConstructor | BooleanConstructor | NumberConstructor)[];
            position: {
                type: import("vue").PropType<"fixed" | "static" | "relative" | "absolute" | "sticky">;
                validator: (v: any) => boolean;
            };
            right: (StringConstructor | BooleanConstructor | NumberConstructor)[];
            top: (StringConstructor | BooleanConstructor | NumberConstructor)[];
            color: StringConstructor;
            textColor: StringConstructor;
            variant: {
                type: import("vue").PropType<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined">;
                default: string;
                validator: (v: any) => boolean;
            };
            theme: StringConstructor;
            tag: {
                type: StringConstructor;
                default: string;
            };
            selectStrategy: {
                type: import("vue").PropType<NonNullable<import("../../composables/nested").SelectStrategy>>;
                default: NonNullable<import("../../composables/nested").SelectStrategy>;
            };
            openStrategy: {
                type: import("vue").PropType<NonNullable<import("../../composables/nested").OpenStrategy>>;
                default: NonNullable<import("../../composables/nested").OpenStrategy>;
            };
            activeStrategy: {
                type: import("vue").PropType<NonNullable<import("../../composables/nested").ActiveStrategy>>;
                default: NonNullable<import("../../composables/nested").ActiveStrategy>;
            };
            opened: {
                type: import("vue").PropType<boolean | string[]>;
                default: () => never[];
            };
            selected: import("vue").PropType<string[]>;
            active: import("vue").PropType<string[]>;
            deleteAfterUnmount: {
                type: BooleanConstructor;
                default: boolean;
            };
            /**
             * @zh 是否为导航列表
             */
            nav: BooleanConstructor;
            /**
             * @zh 数据驱动时列表项数据
             */
            items: Prop<(string | ListItemProps)[], (string | ListItemProps)[]>;
        }, "items"> & {
            $children: () => import("vue").VNodeChild | (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>[]) | {
                default?: import("vue").VNodeChild | (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>[]);
                header?: import("vue").VNodeChild | ((args_0: {
                    item: unknown;
                    index: number;
                } & import("./list-group").ListGroupActivatorSlot) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>[]);
                item?: import("vue").VNodeChild | ((args_0: {
                    item: unknown;
                    index: number;
                }) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>[]);
                title?: import("vue").VNodeChild | ((args_0: import("./list-item").ListItemTitleSlot) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>[]);
                subtitle?: import("vue").VNodeChild | ((args_0: import("./list-item").ListItemSubtitleSlot) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>[]);
                prepend?: import("vue").VNodeChild | (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>[]);
                append?: import("vue").VNodeChild | (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>[]);
            };
            'v-slots': new () => {
                default?: false | (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>[]) | undefined;
                header?: false | ((args_0: {
                    item: unknown;
                    index: number;
                } & import("./list-group").ListGroupActivatorSlot) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>[]) | undefined;
                item?: false | ((args_0: {
                    item: unknown;
                    index: number;
                }) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>[]) | undefined;
                title?: false | ((args_0: import("./list-item").ListItemTitleSlot) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>[]) | undefined;
                subtitle?: false | ((args_0: import("./list-item").ListItemSubtitleSlot) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>[]) | undefined;
                prepend?: false | (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>[]) | undefined;
                append?: false | (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>[]) | undefined;
            };
        }>> & {
            "onUpdate:active"?: ((_active: string[]) => any) | undefined;
            "onUpdate:selected"?: ((_selected: string[]) => any) | undefined;
            "onUpdate:opened"?: ((_opened: string[]) => any) | undefined;
        } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "fixed" | "nav" | "disabled" | "tag" | "variant" | "absolute" | "size" | "density" | "shape" | "opened" | "deleteAfterUnmount" | "selectStrategy" | "openStrategy" | "activeStrategy">;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot | undefined;
        }>;
        $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
        $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
        $emit: ((event: "update:active", _active: string[]) => void) & ((event: "update:selected", _selected: string[]) => void) & ((event: "update:opened", _opened: string[]) => void);
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<Omit<{
            disabled: BooleanConstructor;
            elevation: {
                type: (StringConstructor | NumberConstructor)[];
                validator(v: any): boolean;
            };
            shape: {
                type: import("vue").PropType<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill">;
                default: string;
            };
            border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
            density: {
                type: import("vue").PropType<"high" | "low" | "medium" | "ultra-low" | "ultra-high" | undefined>;
                default: string;
                validator: (v: any) => boolean;
            };
            size: Omit<{
                type: import("vue").PropType<import("../../composables/size").Size | undefined>;
                default: string;
            }, "type" | "default"> & {
                type: import("vue").PropType<NonNullable<import("../../composables/size").Size | undefined> | undefined>;
                default: NonNullable<import("../../composables/size").Size | undefined> | undefined;
            };
            height: (StringConstructor | NumberConstructor)[];
            maxHeight: (StringConstructor | NumberConstructor)[];
            maxWidth: (StringConstructor | NumberConstructor)[];
            minHeight: (StringConstructor | NumberConstructor)[];
            minWidth: (StringConstructor | NumberConstructor)[];
            width: (StringConstructor | NumberConstructor)[];
            absolute: BooleanConstructor;
            bottom: (StringConstructor | BooleanConstructor | NumberConstructor)[];
            fixed: BooleanConstructor;
            left: (StringConstructor | BooleanConstructor | NumberConstructor)[];
            position: {
                type: import("vue").PropType<"fixed" | "static" | "relative" | "absolute" | "sticky">;
                validator: (v: any) => boolean;
            };
            right: (StringConstructor | BooleanConstructor | NumberConstructor)[];
            top: (StringConstructor | BooleanConstructor | NumberConstructor)[];
            color: StringConstructor;
            textColor: StringConstructor;
            variant: {
                type: import("vue").PropType<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined">;
                default: string;
                validator: (v: any) => boolean;
            };
            theme: StringConstructor;
            tag: {
                type: StringConstructor;
                default: string;
            };
            selectStrategy: {
                type: import("vue").PropType<NonNullable<import("../../composables/nested").SelectStrategy>>;
                default: NonNullable<import("../../composables/nested").SelectStrategy>;
            };
            openStrategy: {
                type: import("vue").PropType<NonNullable<import("../../composables/nested").OpenStrategy>>;
                default: NonNullable<import("../../composables/nested").OpenStrategy>;
            };
            activeStrategy: {
                type: import("vue").PropType<NonNullable<import("../../composables/nested").ActiveStrategy>>;
                default: NonNullable<import("../../composables/nested").ActiveStrategy>;
            };
            opened: {
                type: import("vue").PropType<boolean | string[]>;
                default: () => never[];
            };
            selected: import("vue").PropType<string[]>;
            active: import("vue").PropType<string[]>;
            deleteAfterUnmount: {
                type: BooleanConstructor;
                default: boolean;
            };
            /**
             * @zh 是否为导航列表
             */
            nav: BooleanConstructor;
            /**
             * @zh 数据驱动时列表项数据
             */
            items: Prop<(string | ListItemProps)[], (string | ListItemProps)[]>;
        }, "items"> & {
            $children: () => import("vue").VNodeChild | (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>[]) | {
                default?: import("vue").VNodeChild | (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>[]);
                header?: import("vue").VNodeChild | ((args_0: {
                    item: unknown;
                    index: number;
                } & import("./list-group").ListGroupActivatorSlot) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>[]);
                item?: import("vue").VNodeChild | ((args_0: {
                    item: unknown;
                    index: number;
                }) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>[]);
                title?: import("vue").VNodeChild | ((args_0: import("./list-item").ListItemTitleSlot) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>[]);
                subtitle?: import("vue").VNodeChild | ((args_0: import("./list-item").ListItemSubtitleSlot) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>[]);
                prepend?: import("vue").VNodeChild | (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>[]);
                append?: import("vue").VNodeChild | (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>[]);
            };
            'v-slots': new () => {
                default?: false | (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>[]) | undefined;
                header?: false | ((args_0: {
                    item: unknown;
                    index: number;
                } & import("./list-group").ListGroupActivatorSlot) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>[]) | undefined;
                item?: false | ((args_0: {
                    item: unknown;
                    index: number;
                }) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>[]) | undefined;
                title?: false | ((args_0: import("./list-item").ListItemTitleSlot) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>[]) | undefined;
                subtitle?: false | ((args_0: import("./list-item").ListItemSubtitleSlot) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>[]) | undefined;
                prepend?: false | (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>[]) | undefined;
                append?: false | (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>[]) | undefined;
            };
        }>> & {
            "onUpdate:active"?: ((_active: string[]) => any) | undefined;
            "onUpdate:selected"?: ((_selected: string[]) => any) | undefined;
            "onUpdate:opened"?: ((_opened: string[]) => any) | undefined;
        }, {
            open: (id: string, value: boolean, event?: Event | undefined) => void;
            select: (id: string, value: boolean, event?: Event | undefined) => void;
            activate: (id: string, value: boolean, event?: Event | undefined) => void;
        }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<{
            'update:selected': (_selected: string[]) => boolean;
            'update:opened': (_opened: string[]) => boolean;
            'update:active': (_active: string[]) => boolean;
        }, "items">, string, {
            fixed: boolean;
            nav: boolean;
            disabled: boolean;
            tag: string;
            variant: "contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined";
            absolute: boolean;
            size: NonNullable<import("../../composables/size").Size | undefined> | undefined;
            density: "high" | "low" | "medium" | "ultra-low" | "ultra-high" | undefined;
            shape: "circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill";
            opened: boolean | string[];
            deleteAfterUnmount: boolean;
            selectStrategy: NonNullable<import("../../composables/nested").SelectStrategy>;
            openStrategy: NonNullable<import("../../composables/nested").OpenStrategy>;
            activeStrategy: NonNullable<import("../../composables/nested").ActiveStrategy>;
        }, {}, string> & {
            beforeCreate?: ((() => void) | (() => void)[]) | undefined;
            created?: ((() => void) | (() => void)[]) | undefined;
            beforeMount?: ((() => void) | (() => void)[]) | undefined;
            mounted?: ((() => void) | (() => void)[]) | undefined;
            beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
            updated?: ((() => void) | (() => void)[]) | undefined;
            activated?: ((() => void) | (() => void)[]) | undefined;
            deactivated?: ((() => void) | (() => void)[]) | undefined;
            beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
            beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
            destroyed?: ((() => void) | (() => void)[]) | undefined;
            unmounted?: ((() => void) | (() => void)[]) | undefined;
            renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
            renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
            errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void)[]) | undefined;
        };
        $forceUpdate: () => void;
        $nextTick: typeof import("vue").nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
    } & Readonly<import("vue").ExtractPropTypes<Omit<{
        disabled: BooleanConstructor;
        elevation: {
            type: (StringConstructor | NumberConstructor)[];
            validator(v: any): boolean;
        };
        shape: {
            type: import("vue").PropType<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill">;
            default: string;
        };
        border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
        density: {
            type: import("vue").PropType<"high" | "low" | "medium" | "ultra-low" | "ultra-high" | undefined>;
            default: string;
            validator: (v: any) => boolean;
        };
        size: Omit<{
            type: import("vue").PropType<import("../../composables/size").Size | undefined>;
            default: string;
        }, "type" | "default"> & {
            type: import("vue").PropType<NonNullable<import("../../composables/size").Size | undefined> | undefined>;
            default: NonNullable<import("../../composables/size").Size | undefined> | undefined;
        };
        height: (StringConstructor | NumberConstructor)[];
        maxHeight: (StringConstructor | NumberConstructor)[];
        maxWidth: (StringConstructor | NumberConstructor)[];
        minHeight: (StringConstructor | NumberConstructor)[];
        minWidth: (StringConstructor | NumberConstructor)[];
        width: (StringConstructor | NumberConstructor)[];
        absolute: BooleanConstructor;
        bottom: (StringConstructor | BooleanConstructor | NumberConstructor)[];
        fixed: BooleanConstructor;
        left: (StringConstructor | BooleanConstructor | NumberConstructor)[];
        position: {
            type: import("vue").PropType<"fixed" | "static" | "relative" | "absolute" | "sticky">;
            validator: (v: any) => boolean;
        };
        right: (StringConstructor | BooleanConstructor | NumberConstructor)[];
        top: (StringConstructor | BooleanConstructor | NumberConstructor)[];
        color: StringConstructor;
        textColor: StringConstructor;
        variant: {
            type: import("vue").PropType<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined">;
            default: string;
            validator: (v: any) => boolean;
        };
        theme: StringConstructor;
        tag: {
            type: StringConstructor;
            default: string;
        };
        selectStrategy: {
            type: import("vue").PropType<NonNullable<import("../../composables/nested").SelectStrategy>>;
            default: NonNullable<import("../../composables/nested").SelectStrategy>;
        };
        openStrategy: {
            type: import("vue").PropType<NonNullable<import("../../composables/nested").OpenStrategy>>;
            default: NonNullable<import("../../composables/nested").OpenStrategy>;
        };
        activeStrategy: {
            type: import("vue").PropType<NonNullable<import("../../composables/nested").ActiveStrategy>>;
            default: NonNullable<import("../../composables/nested").ActiveStrategy>;
        };
        opened: {
            type: import("vue").PropType<boolean | string[]>;
            default: () => never[];
        };
        selected: import("vue").PropType<string[]>;
        active: import("vue").PropType<string[]>;
        deleteAfterUnmount: {
            type: BooleanConstructor;
            default: boolean;
        };
        /**
         * @zh 是否为导航列表
         */
        nav: BooleanConstructor;
        /**
         * @zh 数据驱动时列表项数据
         */
        items: Prop<(string | ListItemProps)[], (string | ListItemProps)[]>;
    }, "items"> & {
        $children: () => import("vue").VNodeChild | (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>[]) | {
            default?: import("vue").VNodeChild | (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>[]);
            header?: import("vue").VNodeChild | ((args_0: {
                item: unknown;
                index: number;
            } & import("./list-group").ListGroupActivatorSlot) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>[]);
            item?: import("vue").VNodeChild | ((args_0: {
                item: unknown;
                index: number;
            }) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>[]);
            title?: import("vue").VNodeChild | ((args_0: import("./list-item").ListItemTitleSlot) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>[]);
            subtitle?: import("vue").VNodeChild | ((args_0: import("./list-item").ListItemSubtitleSlot) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>[]);
            prepend?: import("vue").VNodeChild | (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>[]);
            append?: import("vue").VNodeChild | (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>[]);
        };
        'v-slots': new () => {
            default?: false | (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>[]) | undefined;
            header?: false | ((args_0: {
                item: unknown;
                index: number;
            } & import("./list-group").ListGroupActivatorSlot) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>[]) | undefined;
            item?: false | ((args_0: {
                item: unknown;
                index: number;
            }) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>[]) | undefined;
            title?: false | ((args_0: import("./list-item").ListItemTitleSlot) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>[]) | undefined;
            subtitle?: false | ((args_0: import("./list-item").ListItemSubtitleSlot) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>[]) | undefined;
            prepend?: false | (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>[]) | undefined;
            append?: false | (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>[]) | undefined;
        };
    }>> & {
        "onUpdate:active"?: ((_active: string[]) => any) | undefined;
        "onUpdate:selected"?: ((_selected: string[]) => any) | undefined;
        "onUpdate:opened"?: ((_opened: string[]) => any) | undefined;
    } & import("vue").ShallowUnwrapRef<{
        open: (id: string, value: boolean, event?: Event | undefined) => void;
        select: (id: string, value: boolean, event?: Event | undefined) => void;
        activate: (id: string, value: boolean, event?: Event | undefined) => void;
    }> & {} & import("vue").ComponentCustomProperties & {};
    __isFragment?: undefined;
    __isTeleport?: undefined;
    __isSuspense?: undefined;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<Omit<{
    disabled: BooleanConstructor;
    elevation: {
        type: (StringConstructor | NumberConstructor)[];
        validator(v: any): boolean;
    };
    shape: {
        type: import("vue").PropType<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill">;
        default: string;
    };
    border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
    density: {
        type: import("vue").PropType<"high" | "low" | "medium" | "ultra-low" | "ultra-high" | undefined>;
        default: string;
        validator: (v: any) => boolean;
    };
    size: Omit<{
        type: import("vue").PropType<import("../../composables/size").Size | undefined>;
        default: string;
    }, "type" | "default"> & {
        type: import("vue").PropType<NonNullable<import("../../composables/size").Size | undefined> | undefined>;
        default: NonNullable<import("../../composables/size").Size | undefined> | undefined;
    };
    height: (StringConstructor | NumberConstructor)[];
    maxHeight: (StringConstructor | NumberConstructor)[];
    maxWidth: (StringConstructor | NumberConstructor)[];
    minHeight: (StringConstructor | NumberConstructor)[];
    minWidth: (StringConstructor | NumberConstructor)[];
    width: (StringConstructor | NumberConstructor)[];
    absolute: BooleanConstructor;
    bottom: (StringConstructor | BooleanConstructor | NumberConstructor)[];
    fixed: BooleanConstructor;
    left: (StringConstructor | BooleanConstructor | NumberConstructor)[];
    position: {
        type: import("vue").PropType<"fixed" | "static" | "relative" | "absolute" | "sticky">;
        validator: (v: any) => boolean;
    };
    right: (StringConstructor | BooleanConstructor | NumberConstructor)[];
    top: (StringConstructor | BooleanConstructor | NumberConstructor)[];
    color: StringConstructor;
    textColor: StringConstructor;
    variant: {
        type: import("vue").PropType<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined">;
        default: string;
        validator: (v: any) => boolean;
    };
    theme: StringConstructor;
    tag: {
        type: StringConstructor;
        default: string;
    };
    selectStrategy: {
        type: import("vue").PropType<NonNullable<import("../../composables/nested").SelectStrategy>>;
        default: NonNullable<import("../../composables/nested").SelectStrategy>;
    };
    openStrategy: {
        type: import("vue").PropType<NonNullable<import("../../composables/nested").OpenStrategy>>;
        default: NonNullable<import("../../composables/nested").OpenStrategy>;
    };
    activeStrategy: {
        type: import("vue").PropType<NonNullable<import("../../composables/nested").ActiveStrategy>>;
        default: NonNullable<import("../../composables/nested").ActiveStrategy>;
    };
    opened: {
        type: import("vue").PropType<boolean | string[]>;
        default: () => never[];
    };
    selected: import("vue").PropType<string[]>;
    active: import("vue").PropType<string[]>;
    deleteAfterUnmount: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * @zh 是否为导航列表
     */
    nav: BooleanConstructor;
    /**
     * @zh 数据驱动时列表项数据
     */
    items: Prop<(string | ListItemProps)[], (string | ListItemProps)[]>;
}, "items"> & {
    $children: () => import("vue").VNodeChild | (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>[]) | {
        default?: import("vue").VNodeChild | (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>[]);
        header?: import("vue").VNodeChild | ((args_0: {
            item: unknown;
            index: number;
        } & import("./list-group").ListGroupActivatorSlot) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>[]);
        item?: import("vue").VNodeChild | ((args_0: {
            item: unknown;
            index: number;
        }) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>[]);
        title?: import("vue").VNodeChild | ((args_0: import("./list-item").ListItemTitleSlot) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>[]);
        subtitle?: import("vue").VNodeChild | ((args_0: import("./list-item").ListItemSubtitleSlot) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>[]);
        prepend?: import("vue").VNodeChild | (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>[]);
        append?: import("vue").VNodeChild | (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>[]);
    };
    'v-slots': new () => {
        default?: false | (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>[]) | undefined;
        header?: false | ((args_0: {
            item: unknown;
            index: number;
        } & import("./list-group").ListGroupActivatorSlot) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>[]) | undefined;
        item?: false | ((args_0: {
            item: unknown;
            index: number;
        }) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>[]) | undefined;
        title?: false | ((args_0: import("./list-item").ListItemTitleSlot) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>[]) | undefined;
        subtitle?: false | ((args_0: import("./list-item").ListItemSubtitleSlot) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>[]) | undefined;
        prepend?: false | (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>[]) | undefined;
        append?: false | (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>[]) | undefined;
    };
}>> & {
    "onUpdate:active"?: ((_active: string[]) => any) | undefined;
    "onUpdate:selected"?: ((_selected: string[]) => any) | undefined;
    "onUpdate:opened"?: ((_opened: string[]) => any) | undefined;
}, {
    open: (id: string, value: boolean, event?: Event | undefined) => void;
    select: (id: string, value: boolean, event?: Event | undefined) => void;
    activate: (id: string, value: boolean, event?: Event | undefined) => void;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<{
    'update:selected': (_selected: string[]) => boolean;
    'update:opened': (_opened: string[]) => boolean;
    'update:active': (_active: string[]) => boolean;
}, "items">, string, {
    fixed: boolean;
    nav: boolean;
    disabled: boolean;
    tag: string;
    variant: "contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined";
    absolute: boolean;
    size: NonNullable<import("../../composables/size").Size | undefined> | undefined;
    density: "high" | "low" | "medium" | "ultra-low" | "ultra-high" | undefined;
    shape: "circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill";
    opened: boolean | string[];
    deleteAfterUnmount: boolean;
    selectStrategy: NonNullable<import("../../composables/nested").SelectStrategy>;
    openStrategy: NonNullable<import("../../composables/nested").OpenStrategy>;
    activeStrategy: NonNullable<import("../../composables/nested").ActiveStrategy>;
}, {}, string> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new <T_1>() => {
    $props: {
        items?: T_1[] | undefined;
    };
    $slots: ListSlots<T_1>;
});
export type List = InstanceType<typeof List>;
