import { ITextModel } from '@vscode/monaco-editor/esm/vs/editor/common/model';
import { URI } from '@vscode/monaco-editor/esm/vs/base/common/uri';
import { FeatureProviderRegistry } from '@workbench-stack/extension-api';
import { Observable } from 'rxjs';
export interface ITextModelContentProvider {
    provideTextContent(resource: URI): Promise<ITextModel | undefined | null> | Observable<ITextModel | undefined | null> | null | undefined;
}
export declare class ResourceModelCollection extends FeatureProviderRegistry<string, ITextModelContentProvider> {
    providersForTextContent(key: string): Observable<ITextModelContentProvider[]>;
    resolvedTextModelContent(key: string): Observable<ITextModel[]>;
    createReferencedObject(key: string, skipActivateProvider?: boolean): Observable<ITextModel> | any;
}
