import { Subject, BehaviorSubject } from 'rxjs';
import { IModelService, TextModelUpdate, TextModel } from '@adminide-stack/extension-api';
/**
 * Creates a new instance of {@link ModelService}.
 *
 * @sri Updated to class instead of function
 */
export declare class ModelService implements IModelService {
    /** A map of URIs to TextModels */
    private _models;
    private _modelUpdates;
    private _activeLanguages;
    private _languageReferences;
    private getModel;
    get models(): Map<string, TextModel>;
    get modelUpdates(): Subject<TextModelUpdate[]>;
    get activeLanguages(): BehaviorSubject<ReadonlySet<string>>;
    getPartialModel: (uri: any) => {
        languageId: string;
    };
    observeModel: (uri: any) => import("rxjs").Observable<TextModel>;
    addModel: (model: any) => void;
    updateModel: (uri: any, text: any) => void;
    hasModel: (uri: any) => boolean;
    removeModel: (uri: any) => void;
}
