import { ICurrency, IApiPayload, IDataFetcherResponse } from '../../_common';
import { ITenantDimension } from '../services/api/DataHub/Dimensions';
import { ITenantAttributeLanguage } from '../services/api/DataHub/Languages';
import { IGetTree, ITreeRequest } from '../services/api/DataHub/TreeNodeValueController';
import { ITenantAttribute } from '../services/api/DataHub/Attributes';

interface IDataTypesState {
    currencies: ICurrency[];
    isCurrenciesLoading: boolean;
    isCurrenciesFetching?: Promise<IDataFetcherResponse<ICurrency>>;
    dimensions: ITenantDimension[];
    isDimensionsLoading: boolean;
    isDimensionsFetching?: Promise<IDataFetcherResponse<ITenantDimension>>;
    languages: ITenantAttributeLanguage[];
    isLanguagesLoading: boolean;
    isLanguagesFetching?: Promise<IDataFetcherResponse<ITenantAttributeLanguage>>;
    treeNodes: Record<string, Promise<IApiPayload<IGetTree>>>;
    isTreeNodesLoading: Record<string, boolean>;
}
export declare const useDataTypesStore: import('pinia').StoreDefinition<"DataHub-dataTypes", IDataTypesState, {}, {
    fetchDimensions(): Promise<any>;
    fetchCurrencies(): Promise<any>;
    fetchLanguages(): Promise<any>;
    getTreeNodeKey: ({ attributeId, scopeId, languageId, entityId, }: ITreeRequest) => string;
    fetchTreeNodes(params: ITreeRequest, attribute: ITenantAttribute): Promise<any>;
}>;
export {};
