import { ITreeNode } from '../../../_common';
import { IListOfLanguagesScopesAndFields } from '../../services/api/common';

declare const _default: <T extends object>(__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 onSelected?: (value: ITreeNode<T>, level: number) => any;
        readonly onDelete?: (value: ITreeNode<T>) => any;
        readonly onUpdated?: () => any;
    } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>) & ({
        controller: string;
        api?: () => Promise<IListOfLanguagesScopesAndFields>;
        loading: boolean;
        filterPredicate?: (filter: string) => (value: T) => boolean;
        addTitle?: string;
        itemId?: keyof ITreeNode<T>;
        maxLevel?: number;
        createItem: (nodes: ITreeNode<T>[]) => ITreeNode<T>;
        pluginName: string;
    } & {
        modelValue?: ITreeNode<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<() => Partial<Record<NonNullable<string | number>, (_: any) => any>>>;
    emit: {
        (event: "updated"): void;
        (event: "selected", value: ITreeNode<T>, level: number): void;
        (event: "delete", value: ITreeNode<T>): void;
    };
}>) => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
    [key: string]: any;
}> & {
    __ctx?: Awaited<typeof __VLS_setup>;
};
export default _default;
