/// <reference types="node" />
/// <reference types="mocha" />
/// <reference types="node" />
/// <reference types="node" />
import { ConfigExtender, WasmkitRuntimeEnvironment } from '../types';
import { ExtenderManager } from './core/config/extenders';
import { TasksDSL } from './core/tasks/dsl';
export type GlobalWithWasmkitContext = NodeJS.Global & {
    __WasmkitContext: WasmkitContext;
};
export declare class WasmkitContext {
    static isCreated(): boolean;
    static createWasmkitContext(): WasmkitContext;
    static getWasmkitContext(): WasmkitContext;
    static deleteWasmkitContext(): void;
    readonly tasksDSL: TasksDSL;
    readonly extendersManager: ExtenderManager;
    readonly loadedPlugins: string[];
    environment?: WasmkitRuntimeEnvironment;
    readonly configExtenders: ConfigExtender[];
    setRuntimeEnv(env: WasmkitRuntimeEnvironment): void;
    getRuntimeEnv(): WasmkitRuntimeEnvironment;
    setPluginAsLoaded(pluginName: string): void;
}
