import type { IListOfLanguagesScopesAndFields } from '../services/api/DataHub/Datahub.models';
import { type IAvailableLocale } from '../services/api/Start/Locale';
interface IDictionaryState {
    fetchingLocales: Promise<IAvailableLocale[]> | null;
    locales: IAvailableLocale[];
    selectedLocaleId: string;
    languagesAndScopes: Record<string, Promise<IListOfLanguagesScopesAndFields>>;
}
export declare const useDatahubDictionaryStore: import("pinia").StoreDefinition<"datahub-dictionary", IDictionaryState, {
    localesWithIcon: (state: {
        fetchingLocales: {
            then: <TResult1 = IAvailableLocale[], TResult2 = never>(onfulfilled?: (value: IAvailableLocale[]) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>;
            catch: <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike<TResult>) => Promise<IAvailableLocale[] | TResult>;
            finally: (onfinally?: () => void) => Promise<IAvailableLocale[]>;
            readonly [Symbol.toStringTag]: string;
        };
        locales: {
            id: string;
            locale: string;
            localePrimaryLanguage: string;
            localeRegion: string;
            canonicalName: string;
            icon?: string;
        }[];
        selectedLocaleId: string;
        languagesAndScopes: Record<string, Promise<IListOfLanguagesScopesAndFields>>;
    } & import("pinia").PiniaCustomStateProperties<IDictionaryState>) => Record<string, IAvailableLocale & {
        icon?: string;
    }>;
}, {
    getAttributeByKey(controller: string, attributeKey: string): Promise<any>;
    fetchLanguagesAndScopes<T extends IListOfLanguagesScopesAndFields>(controller: string, api?: () => Promise<T>): Promise<any>;
    fetchLocales(): Promise<IAvailableLocale[]>;
    ensureLocales(): Promise<any>;
}>;
export {};
