import { ITenantAttributeScope } from '../../services/api/DataHub/Scopes';
import { ITenantAttributeLanguage } from '../../services/api/DataHub/Languages';
import { ICacheEntitiesAttributeInSetCache } from '../../services/api/DataHub/Attributes';

declare const _default: <T extends {
    id?: number;
    key: string;
    name: string;
}>(__VLS_props: Awaited<typeof __VLS_setup>["props"], __VLS_ctx?: __VLS_Prettify<Pick<Awaited<typeof __VLS_setup>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
    props: __VLS_Prettify<__VLS_OmitKeepDiscriminatedUnion<(Partial<{}> & Omit<{
        readonly onCreate?: () => any;
        readonly onSelected?: (value?: T) => any;
        readonly onDelete?: (value: T) => any;
    } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>) & ({
        title?: string;
        remoteScopes?: ITenantAttributeScope[];
        remoteLanguages?: ITenantAttributeLanguage[];
        remoteAttributes?: ICacheEntitiesAttributeInSetCache[];
        active?: number;
        level?: number | string;
        loading?: boolean;
        readonly?: boolean;
        filterPredicate?: (filter: string) => (value: T) => boolean;
        addTitle?: string;
        itemId?: keyof T;
    } & {
        modelValue?: T[];
    }), keyof import('vue').VNodeProps | keyof import('vue').AllowedComponentProps>> & {} & (import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps);
    expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
    attrs: any;
    slots: ReturnType<() => {
        "item-loading"?(_: {
            node: T;
            active: boolean;
        }): any;
        "item-title"?(_: {
            node: [{
                type: import('vue').PropType<import('../../../_common').ITreeNode<T>>;
                required: true;
            }] extends [import('vue').Prop<infer V, infer D>] ? unknown extends V ? keyof V extends never ? import('@vue/shared').IfAny<V, V, D> : V : V : {
                type: import('vue').PropType<import('../../../_common').ITreeNode<T>>;
                required: true;
            };
            active: boolean;
        }): any;
        "item-content"?(_: {
            node: [{
                type: import('vue').PropType<import('../../../_common').ITreeNode<T>>;
                required: true;
            }] extends [import('vue').Prop<infer V, infer D>] ? unknown extends V ? keyof V extends never ? import('@vue/shared').IfAny<V, V, D> : V : V : {
                type: import('vue').PropType<import('../../../_common').ITreeNode<T>>;
                required: true;
            };
            active: boolean;
        }): any;
    }>;
    emit: {
        (event: "create"): void;
        (event: "selected", value?: T): void;
        (event: "delete", value: T): void;
    };
}>) => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
    [key: string]: any;
}> & {
    __ctx?: Awaited<typeof __VLS_setup>;
};
export default _default;
type __VLS_Prettify<T> = {
    [K in keyof T]: T[K];
} & {};
