export type { TreeNode } from './types';
export declare const VaTreeView: {
    new (...args: any[]): import("vue").CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{
        nodes: {
            type: import("vue").PropType<import("./types").TreeNode[]>;
            default: never[];
        };
        stateful: {
            type: BooleanConstructor;
            default: boolean;
        };
        selectable: {
            type: BooleanConstructor;
            default: boolean;
        };
        selectionType: {
            type: StringConstructor;
            default: string;
            validator: (v: string) => boolean;
        };
        valueBy: {
            type: import("vue").PropType<import("./types").TreeViewPropKey>;
            default: string;
        };
        textBy: {
            type: import("vue").PropType<import("./types").TreeViewPropKey>;
            default: string;
        };
        trackBy: {
            type: import("vue").PropType<import("./types").TreeViewPropKey>;
            default: string;
        };
        iconBy: {
            type: import("vue").PropType<import("./types").TreeViewPropKey>;
            default: string;
        };
        disabledBy: {
            type: import("vue").PropType<import("./types").TreeViewPropKey>;
            default: string;
        };
        expandedBy: {
            type: import("vue").PropType<import("./types").TreeViewPropKey>;
            default: string;
        };
        checkedBy: {
            type: import("vue").PropType<import("./types").TreeViewPropKey>;
            default: string;
        };
        childrenBy: {
            type: import("vue").PropType<import("./types").TreeViewPropKey>;
            default: string;
        };
        expandAll: {
            type: BooleanConstructor;
            default: boolean;
        };
        expanded: {
            type: import("vue").PropType<(string | number | import("./types").TreeNode)[]>;
            default: never[];
        };
        expandNodeBy: {
            type: import("vue").PropType<"leaf" | "node">;
            default: string;
        };
        filter: {
            type: StringConstructor;
            default: string;
        };
        filterMethod: {
            type: import("vue").PropType<import("./types").TreeViewFilterMethod | undefined>;
            default: undefined;
        };
        checked: {
            type: import("vue").PropType<(string | number | import("./types").TreeNode)[]>;
            default: never[];
        };
        color: {
            type: StringConstructor;
            default: string;
        };
    }>>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
        [x: string]: (...args: any[]) => void;
    }, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
        nodes: {
            type: import("vue").PropType<import("./types").TreeNode[]>;
            default: never[];
        };
        stateful: {
            type: BooleanConstructor;
            default: boolean;
        };
        selectable: {
            type: BooleanConstructor;
            default: boolean;
        };
        selectionType: {
            type: StringConstructor;
            default: string;
            validator: (v: string) => boolean;
        };
        valueBy: {
            type: import("vue").PropType<import("./types").TreeViewPropKey>;
            default: string;
        };
        textBy: {
            type: import("vue").PropType<import("./types").TreeViewPropKey>;
            default: string;
        };
        trackBy: {
            type: import("vue").PropType<import("./types").TreeViewPropKey>;
            default: string;
        };
        iconBy: {
            type: import("vue").PropType<import("./types").TreeViewPropKey>;
            default: string;
        };
        disabledBy: {
            type: import("vue").PropType<import("./types").TreeViewPropKey>;
            default: string;
        };
        expandedBy: {
            type: import("vue").PropType<import("./types").TreeViewPropKey>;
            default: string;
        };
        checkedBy: {
            type: import("vue").PropType<import("./types").TreeViewPropKey>;
            default: string;
        };
        childrenBy: {
            type: import("vue").PropType<import("./types").TreeViewPropKey>;
            default: string;
        };
        expandAll: {
            type: BooleanConstructor;
            default: boolean;
        };
        expanded: {
            type: import("vue").PropType<(string | number | import("./types").TreeNode)[]>;
            default: never[];
        };
        expandNodeBy: {
            type: import("vue").PropType<"leaf" | "node">;
            default: string;
        };
        filter: {
            type: StringConstructor;
            default: string;
        };
        filterMethod: {
            type: import("vue").PropType<import("./types").TreeViewFilterMethod | undefined>;
            default: undefined;
        };
        checked: {
            type: import("vue").PropType<(string | number | import("./types").TreeNode)[]>;
            default: never[];
        };
        color: {
            type: StringConstructor;
            default: string;
        };
    }>>, {
        filter: string;
        stateful: boolean;
        color: string;
        textBy: import("./types").TreeViewPropKey;
        valueBy: import("./types").TreeViewPropKey;
        trackBy: import("./types").TreeViewPropKey;
        disabledBy: import("./types").TreeViewPropKey;
        checked: (string | number | import("./types").TreeNode)[];
        selectable: boolean;
        filterMethod: import("./types").TreeViewFilterMethod | undefined;
        expanded: (string | number | import("./types").TreeNode)[];
        nodes: import("./types").TreeNode[];
        selectionType: string;
        iconBy: import("./types").TreeViewPropKey;
        expandedBy: import("./types").TreeViewPropKey;
        checkedBy: import("./types").TreeViewPropKey;
        childrenBy: import("./types").TreeViewPropKey;
        expandAll: boolean;
        expandNodeBy: "leaf" | "node";
    }, true, {}, {}, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        nodes: {
            type: import("vue").PropType<import("./types").TreeNode[]>;
            default: never[];
        };
        stateful: {
            type: BooleanConstructor;
            default: boolean;
        };
        selectable: {
            type: BooleanConstructor;
            default: boolean;
        };
        selectionType: {
            type: StringConstructor;
            default: string;
            validator: (v: string) => boolean;
        };
        valueBy: {
            type: import("vue").PropType<import("./types").TreeViewPropKey>;
            default: string;
        };
        textBy: {
            type: import("vue").PropType<import("./types").TreeViewPropKey>;
            default: string;
        };
        trackBy: {
            type: import("vue").PropType<import("./types").TreeViewPropKey>;
            default: string;
        };
        iconBy: {
            type: import("vue").PropType<import("./types").TreeViewPropKey>;
            default: string;
        };
        disabledBy: {
            type: import("vue").PropType<import("./types").TreeViewPropKey>;
            default: string;
        };
        expandedBy: {
            type: import("vue").PropType<import("./types").TreeViewPropKey>;
            default: string;
        };
        checkedBy: {
            type: import("vue").PropType<import("./types").TreeViewPropKey>;
            default: string;
        };
        childrenBy: {
            type: import("vue").PropType<import("./types").TreeViewPropKey>;
            default: string;
        };
        expandAll: {
            type: BooleanConstructor;
            default: boolean;
        };
        expanded: {
            type: import("vue").PropType<(string | number | import("./types").TreeNode)[]>;
            default: never[];
        };
        expandNodeBy: {
            type: import("vue").PropType<"leaf" | "node">;
            default: string;
        };
        filter: {
            type: StringConstructor;
            default: string;
        };
        filterMethod: {
            type: import("vue").PropType<import("./types").TreeViewFilterMethod | undefined>;
            default: undefined;
        };
        checked: {
            type: import("vue").PropType<(string | number | import("./types").TreeNode)[]>;
            default: never[];
        };
        color: {
            type: StringConstructor;
            default: string;
        };
    }>>, {}, {}, {}, {}, {
        filter: string;
        stateful: boolean;
        color: string;
        textBy: import("./types").TreeViewPropKey;
        valueBy: import("./types").TreeViewPropKey;
        trackBy: import("./types").TreeViewPropKey;
        disabledBy: import("./types").TreeViewPropKey;
        checked: (string | number | import("./types").TreeNode)[];
        selectable: boolean;
        filterMethod: import("./types").TreeViewFilterMethod | undefined;
        expanded: (string | number | import("./types").TreeNode)[];
        nodes: import("./types").TreeNode[];
        selectionType: string;
        iconBy: import("./types").TreeViewPropKey;
        expandedBy: import("./types").TreeViewPropKey;
        checkedBy: import("./types").TreeViewPropKey;
        childrenBy: import("./types").TreeViewPropKey;
        expandAll: boolean;
        expandNodeBy: "leaf" | "node";
    }>;
    __isFragment?: undefined;
    __isTeleport?: undefined;
    __isSuspense?: undefined;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    nodes: {
        type: import("vue").PropType<import("./types").TreeNode[]>;
        default: never[];
    };
    stateful: {
        type: BooleanConstructor;
        default: boolean;
    };
    selectable: {
        type: BooleanConstructor;
        default: boolean;
    };
    selectionType: {
        type: StringConstructor;
        default: string;
        validator: (v: string) => boolean;
    };
    valueBy: {
        type: import("vue").PropType<import("./types").TreeViewPropKey>;
        default: string;
    };
    textBy: {
        type: import("vue").PropType<import("./types").TreeViewPropKey>;
        default: string;
    };
    trackBy: {
        type: import("vue").PropType<import("./types").TreeViewPropKey>;
        default: string;
    };
    iconBy: {
        type: import("vue").PropType<import("./types").TreeViewPropKey>;
        default: string;
    };
    disabledBy: {
        type: import("vue").PropType<import("./types").TreeViewPropKey>;
        default: string;
    };
    expandedBy: {
        type: import("vue").PropType<import("./types").TreeViewPropKey>;
        default: string;
    };
    checkedBy: {
        type: import("vue").PropType<import("./types").TreeViewPropKey>;
        default: string;
    };
    childrenBy: {
        type: import("vue").PropType<import("./types").TreeViewPropKey>;
        default: string;
    };
    expandAll: {
        type: BooleanConstructor;
        default: boolean;
    };
    expanded: {
        type: import("vue").PropType<(string | number | import("./types").TreeNode)[]>;
        default: never[];
    };
    expandNodeBy: {
        type: import("vue").PropType<"leaf" | "node">;
        default: string;
    };
    filter: {
        type: StringConstructor;
        default: string;
    };
    filterMethod: {
        type: import("vue").PropType<import("./types").TreeViewFilterMethod | undefined>;
        default: undefined;
    };
    checked: {
        type: import("vue").PropType<(string | number | import("./types").TreeNode)[]>;
        default: never[];
    };
    color: {
        type: StringConstructor;
        default: string;
    };
}>>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    [x: string]: (...args: any[]) => void;
}, string, {
    filter: string;
    stateful: boolean;
    color: string;
    textBy: import("./types").TreeViewPropKey;
    valueBy: import("./types").TreeViewPropKey;
    trackBy: import("./types").TreeViewPropKey;
    disabledBy: import("./types").TreeViewPropKey;
    checked: (string | number | import("./types").TreeNode)[];
    selectable: boolean;
    filterMethod: import("./types").TreeViewFilterMethod | undefined;
    expanded: (string | number | import("./types").TreeNode)[];
    nodes: import("./types").TreeNode[];
    selectionType: string;
    iconBy: import("./types").TreeViewPropKey;
    expandedBy: import("./types").TreeViewPropKey;
    checkedBy: import("./types").TreeViewPropKey;
    childrenBy: import("./types").TreeViewPropKey;
    expandAll: boolean;
    expandNodeBy: "leaf" | "node";
}, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
    $slots: Partial<Record<NonNullable<string | number>, (_: any) => any>> & {
        "not-found"?(_: {}): any;
    };
});
