import Evaluator from "./evaluator/index";
import type { StructValue } from "./value";
export declare class ModuleManager {
    modules: Map<string, {
        moduleValue: StructValue;
        moduleError: Error | undefined;
        evaluator: Evaluator;
    }>;
    private dependencies;
    private dependents;
    private loadingModules;
    stdPath: string;
    private codeGenratorC;
    private allowPartialModule;
    constructor(options?: {
        allowPartialModule?: boolean;
        stdPath?: string;
    });
    private getRelativePath;
    private isWorkspaceModule;
    private findExtensionDuplicates;
    private deleteModuleAndDependents;
    private addDependency;
    private getDependentModules;
    private clearDependencies;
    resetAllState(): void;
    loadModule(modulePath: string, inputString?: string, parentModule?: string): {
        moduleValue: StructValue;
        moduleError: Error | undefined;
    };
    deleteModule(modulePath: string): void;
    compileModule(modulePath: string, { emitC, debugGc, debugParallelism, debugAsyncAwait, allocator, isLibrary, }?: {
        emitC?: boolean;
        debugGc?: boolean;
        debugParallelism?: boolean;
        debugAsyncAwait?: boolean;
        allocator?: "mimalloc" | "libc";
        isLibrary?: boolean;
    }): void;
    getGeneratedCode(): string;
    getExportedFunctionNames(): Set<string>;
    get needsIntelAsmSyntax(): boolean;
    get usesParallelism(): boolean;
}
