import type { PropType, ExtractPropTypes, StyleValue } from 'vue';
import type { Arrayable, ComponentSize } from '../../_utils/types';
import type { NodeKey } from '../../search-tree/src/props';
import type { IFetch, IRecord } from '../../table/src/table/types';
type ITreeConfig = {
    fetch?: IFetch & {
        valueKey?: string;
        textKey?: string;
    };
    asyncLoad?: boolean;
    checkStrictly?: boolean;
    checkStrategy?: 'SHOW_ALL' | 'SHOW_PARENT' | 'SHOW_CHILD';
    defaultExpandAll?: boolean;
};
export declare const _props: {
    defaultSelectedKeys: {
        type: PropType<NodeKey[]>;
    };
    size: {
        type: PropType<ComponentSize>;
        validator: (val: string) => boolean;
    };
    multiple: {
        type: BooleanConstructor;
    };
    tree: {
        type: PropType<ITreeConfig>;
        return: () => void;
    };
    class: {
        type: PropType<string | Arrayable<Record<string, boolean>>>;
    };
    style: {
        type: PropType<StyleValue>;
    };
};
export declare const _emits: {
    close: (data: IRecord | null) => boolean;
};
export type TreeHelperProps = ExtractPropTypes<typeof _props>;
export type TreeHelperEmits = typeof _emits;
export {};
