import type { FlattenDataNode, InternalDataEntity, Key, LegacyDataNode, RawValueType } from './interface';
import type { SkipType } from './hooks/useKeyValueMapping';
import type { ComputedRef, PropType } from 'vue';
interface ContextProps {
    checkable: boolean;
    customCheckable: () => any;
    checkedKeys: Key[];
    halfCheckedKeys: Key[];
    treeExpandedKeys: Key[];
    treeDefaultExpandedKeys: Key[];
    onTreeExpand: (keys: Key[]) => void;
    treeDefaultExpandAll: boolean;
    treeIcon: any;
    showTreeIcon: boolean;
    switcherIcon: any;
    treeLine: boolean;
    treeNodeFilterProp: string;
    treeLoadedKeys: Key[];
    treeMotion: any;
    loadData: (treeNode: LegacyDataNode) => Promise<unknown>;
    onTreeLoad: (loadedKeys: Key[]) => void;
    getEntityByKey: (key: Key, skipType?: SkipType, ignoreDisabledCheck?: boolean) => FlattenDataNode;
    getEntityByValue: (value: RawValueType, skipType?: SkipType, ignoreDisabledCheck?: boolean) => FlattenDataNode;
    slots: {
        title?: (data: InternalDataEntity) => any;
        titleRender?: (data: InternalDataEntity) => any;
        [key: string]: (d: any) => any | undefined;
    };
}
export declare const SelectContext: import("vue").DefineComponent<{
    value: {
        type: PropType<ContextProps>;
    };
}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>[], unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
    value?: unknown;
} & {} & {
    value?: ContextProps;
}>, {}>;
export declare const useInjectTreeSelectContext: () => ComputedRef<ContextProps>;
export {};
