import { IApiSuccess, IDataFetcherResponse, IChildrenFetcherResponse } from '../../../../../_common';
import { ISaveTreeRequest, IListOfLanguagesScopesAndFields } from '../../common';
import { ITenantAttribute } from '../Attributes';
import { ITenantAttributeGroup, IGroupAttributesDataTableQuery } from './Groups.models';

export declare const DATA_HUB_GROUPS_API_BASE = "Actindo.Modules.Actindo.DataHub.Groups.";
export declare const groupsApiGenerator: (moduleBaseApi?: string) => {
    getTree: () => Promise<IChildrenFetcherResponse<ITenantAttributeGroup>>;
    saveTree: (query: ISaveTreeRequest) => Promise<IApiSuccess>;
    getUnassignedAttributes: (query?: IGroupAttributesDataTableQuery) => Promise<IDataFetcherResponse<ITenantAttribute>>;
    getAttributes: (query?: IGroupAttributesDataTableQuery) => Promise<IDataFetcherResponse<ITenantAttribute>>;
    addAttributes: (dhAttributeGroupId: number, dhAttributeIds: number[]) => Promise<IApiSuccess>;
    addAttribute: (groupId: number, id: number) => Promise<IApiSuccess>;
    removeAttributes: (dhAttributeGroupId: number, dhAttributeIds: number[]) => Promise<IApiSuccess>;
    removeAttribute: (groupId: number, id: number) => Promise<IApiSuccess>;
    updateAttributes: (groupId: number, dhAttributeIds: number[]) => Promise<IApiSuccess>;
    getListOfLanguagesScopesAndFields: () => Promise<IListOfLanguagesScopesAndFields>;
};
