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