import { IDataTableQuery, IDataFetcherResponse, IApiSuccess } from '../../../../../_common';
import { IETLAttributeMapping, IPossibleExtensionRequest, ICreateAttributeMapRequest, IPossibleExtensionContainer, IPossibleSourceAttributesRequest, IDataHubETLValueMap } from './ETLAttributeMaps.models';
import { ITenantAttribute } from '../Attributes';

export declare const etlAttributeMapsApi: {
    /** List all ETLAttributeMaps for a given ETLAttributeSetMap */
    getList(query?: IDataTableQuery & {
        attributeSetMapId: number;
        hideInactive: boolean;
    }): Promise<IDataFetcherResponse<IETLAttributeMapping>>;
    /** Add attribute from destination set to source set and map with SelfMappableExtension */
    addSourceAndMap(etlAttributeSetMapId: number, attributeId: number): Promise<IDataFetcherResponse<IETLAttributeMapping>>;
    /** List possible extensions */
    getPossibleExtensions(query: IPossibleExtensionRequest): Promise<IDataFetcherResponse<IPossibleExtensionContainer>>;
    /** List possible source attributes */
    getPossibleSourceAttributes(query: IPossibleSourceAttributesRequest): Promise<IDataFetcherResponse<ITenantAttribute>>;
    /** Creates an ETLAttributeMap */
    create(query: ICreateAttributeMapRequest): Promise<IDataFetcherResponse<ITenantAttribute>>;
    /** Updates and ETLAttributeMap, no selective updates */
    update(query: ICreateAttributeMapRequest): Promise<IDataFetcherResponse<ITenantAttribute>>;
    /** Deletes an ETL attribute map */
    delete(id: number): Promise<IDataFetcherResponse<ITenantAttribute>>;
    /** getValueMaps */
    getValueMaps<S = unknown, D = unknown>(etlAttributeMapId: number): Promise<IApiSuccess & {
        valueMaps: IDataHubETLValueMap<S, D>[];
    }>;
};
