import { TranslationContainerOptions } from './types';
import { TranslationModel } from './translation-model';
import { Localization } from './services';
import { IKosDataModel, IKosIdentifiable, IKosModelContainer, IKosModelHolder, KosCreationContext, ReloadAware } from '../../../core';

export declare const MODEL_TYPE = "translation-container-model";
type PublicInterface<T> = {
    [P in keyof T]: T[P];
};
export type TranslationContainerModel = PublicInterface<Exclude<TranslationContainerModelImpl, keyof IKosDataModel>>;
export declare class TranslationContainerModelImpl implements IKosIdentifiable, IKosModelHolder<TranslationModel>, IKosDataModel, ReloadAware {
    id: string;
    lang: string;
    private rootUrl?;
    descriptor: Localization;
    private _defaultNamespace?;
    private resolver;
    private logger;
    private descriptorUrl?;
    private namespaces;
    private _models;
    constructor(modelId: string, options: TranslationContainerOptions, context: KosCreationContext);
    set currentLocale(locale: string);
    get defaultNamespace(): import('./translation-model').TranslationModelImpl | undefined;
    getModel(id: string): import('./translation-model').TranslationModelImpl | undefined;
    get models(): IKosModelContainer<import('./translation-model').TranslationModelImpl>;
    get data(): import('./translation-model').TranslationModelImpl[];
    reload(): Promise<void>;
    resolveNamespace(namespace: string): import('./translation-model').TranslationModelImpl;
    addModel(model: TranslationModel): void;
    removeModel(id: string): void;
    init(): Promise<void>;
    load(): Promise<void>;
}
export {};
//# sourceMappingURL=translation-container-model.d.ts.map