import { GraphView } from '../runtime/index.js';
import { ModuleSpec } from '../types/index.js';
import { CodeBuilder } from './CodeBuilder.js';
import { CompilerScope } from './CompilerScope.js';
import { CompilerSymbols } from './CompilerSymbols.js';
import { CompilerOptions } from './GraphCompiler.js';
/**
 * Compiler's unit of work.
 */
export declare class CompilerJob {
    readonly graphView: GraphView;
    readonly options: CompilerOptions;
    done: boolean;
    symbols: CompilerSymbols;
    code: CodeBuilder;
    scopeMap: Map<string, CompilerScope>;
    mainScope: CompilerScope;
    constructor(graphView: GraphView, options: CompilerOptions);
    run(): void;
    allScopes(): IterableIterator<CompilerScope>;
    getModuleSpec(): ModuleSpec;
    getEmittedCode(): string;
    private prepareNodeSymbols;
    private emitImports;
    private emitNodeFunctions;
    private emitNodeMap;
    private collectEmittedRefs;
    private emitExportCompute;
    private emitComment;
}
