import { SettingsCascade } from './protocol/configuration';
import { WorkspaceRoot } from './protocol/plainTypes';
import { Context } from './context/context';
import { Extension } from './extension';
import { TextDocumentItem } from './types/textDocument';
export interface Environment<X extends Extension = Extension, C extends SettingsCascade = SettingsCascade> {
    readonly roots: WorkspaceRoot[] | null;
    readonly visibleTextDocuments: TextDocumentItem[] | null;
    readonly extensions: X[] | null;
    readonly configuration: C;
    readonly context: Context;
}
export declare const EMPTY_ENVIRONMENT: Environment<any, any>;
