import { INode } from '../models';
import { ITenantAttribute, IDataTypeInstance } from '../services/api/DataHub/Attributes';
import { ITenantETLProcess } from '../services/api/DataHub/ETLProcesses';
import { ISourcePorts, ITenantETLAttributeMap } from '../services/api/DataHub/ETLAttributeMaps';
import { ITranslatable } from '../services/api/common';
import { ITenantAttributeLanguage } from '../services/api/DataHub/Languages';
import { DATAHUB_COMPONENT_TYPE } from '../components/external/dataTypes/constants';

export declare const getTranslatableFieldName: ({ key, scope, language, attribute: { scopable, multilanguage }, }: {
    key: string;
    scope: string;
    language: string;
    attribute: ITenantAttribute;
}) => string;
export declare const getFormElementLabel: (languageName: string, scopeName: string, attribute: ITenantAttribute) => string;
export declare function getAttributeData(attr: ISourcePorts): string;
export declare function getSource(attr: ISourcePorts): string;
export declare function getDestination(attr?: ITenantETLAttributeMap): string;
export declare const etlProcessesFromTo: (row: ITenantETLProcess) => string;
export declare const sourceAttributes: (row: ITenantETLProcess) => string;
export declare const targetAttribute: (row: ITenantETLProcess) => string;
export declare const mapGroupToNode: (data: INode<{
    title?: string;
    name?: string;
}>, sortOrder: number) => any;
export declare const getUniqId: (groupsList: INode[]) => number;
export declare const collectCreated: <T extends object = object>(nodesList: INode<T>[], locale?: string, translatableKey?: string) => any[];
export declare const collectModified: <T extends object = object>(nodesList: INode<T>[], locale?: string, translatableKey?: string) => any[];
export declare const getExternalComponentConfig: (dataTypeInstance: IDataTypeInstance, type: DATAHUB_COMPONENT_TYPE) => {
    name: string;
    url: string;
};
export declare const loadExternalComponent: (component: {
    name: string;
    url: string;
}) => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
    [key: string]: any;
}> | import('vue').Component;
export declare const translate: (text: ITranslatable, currentLocale: Pick<ITenantAttributeLanguage, "key" | "id">) => string;
export declare const getScopeAbbreviation: (scopeName: string) => string;
export declare const getChildGroupId: (id: string | number) => string;
export declare const baseController: (controller: string) => string;
export declare const getEndpoint: (controller: string, method: string) => string;
export declare const convertFromUnixDate: (unixDateInSeconds?: number, format?: string) => any;
