import type { MaEmptySize } from '@/components/empty/types';
import type { MaSearchType, TreeMode, TreeNode, TreeNodeValue } from './types';
export interface MaTreeProps {
    value?: TreeNodeValue;
    selectedValues?: TreeNodeValue[];
    expandedValues?: TreeNodeValue[];
    data?: TreeNode[];
    mode?: TreeMode;
    showIcon?: boolean;
    hideTick?: boolean;
    search?: MaSearchType;
    size?: MaEmptySize;
    emptySize?: MaEmptySize;
    emptyTitle?: string;
    emptyDescription?: string;
}
declare function onChange(value: TreeNodeValue, node: TreeNode): void;
declare function toggleExpand(value: TreeNodeValue, node: TreeNode): void;
declare function checkNodeChange(node: TreeNode, isChecked: boolean): void;
declare function expandAll(): void;
declare function collapseAll(): void;
declare var __VLS_14: {
    value: TreeNodeValue;
    label: string;
    icon?: string;
    disabled?: boolean;
    options: TreeNode[];
}, __VLS_20: {
    value: TreeNodeValue;
    label: string;
    icon?: string;
    disabled?: boolean;
    options: TreeNode[];
}, __VLS_30: {
    value: TreeNodeValue;
    label: string;
    icon?: string;
    disabled?: boolean;
    options: TreeNode[];
};
type __VLS_Slots = {} & {
    icon?: (props: typeof __VLS_14) => any;
} & {
    label?: (props: typeof __VLS_20) => any;
} & {
    'list-bottom-section'?: (props: typeof __VLS_30) => any;
};
declare const __VLS_component: import("vue").DefineComponent<MaTreeProps, {
    checkedKeys: import("vue").Ref<TreeNodeValue[], TreeNodeValue[]>;
    expandedKeys: import("vue").Ref<TreeNodeValue[], TreeNodeValue[]>;
    treeData: import("vue").ComputedRef<TreeNode[]>;
    onChange: typeof onChange;
    toggleExpand: typeof toggleExpand;
    checkNodeChange: typeof checkNodeChange;
    expandAll: typeof expandAll;
    collapseAll: typeof collapseAll;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    change: (...args: any[]) => void;
    "update:value": (...args: any[]) => void;
    "update:expandedValues": (...args: any[]) => void;
    expand: (...args: any[]) => void;
    "update:selectedValues": (...args: any[]) => void;
}, string, import("vue").PublicProps, Readonly<MaTreeProps> & Readonly<{
    onChange?: (...args: any[]) => any;
    "onUpdate:value"?: (...args: any[]) => any;
    "onUpdate:expandedValues"?: (...args: any[]) => any;
    onExpand?: (...args: any[]) => any;
    "onUpdate:selectedValues"?: (...args: any[]) => any;
}>, {
    search: MaSearchType;
    size: MaEmptySize;
    mode: TreeMode;
    emptySize: MaEmptySize;
    emptyTitle: string;
    emptyDescription: string;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
