import { type EmitResult } from '../table/emit-assembly.ts'; import { type TableProgram } from '../table/program.ts'; export type EntrySupercompileCfg = { readonly hostCst: boolean; readonly hostReadsChildren?: boolean; readonly hostCaptureTrivia?: ((type: string) => boolean) | undefined; readonly trackLines: boolean; readonly tolerant: boolean; readonly coverage: boolean; readonly probe: boolean; }; export type EntrySupercompileStats = { readonly activated: boolean; readonly reason?: string; readonly functionsBefore: number; readonly functionsAfter: number; readonly pieceCallsBefore: number; readonly pieceCallsAfter: number; readonly sourceBefore: number; readonly sourceAfter: number; readonly regions: number; readonly largestRegionSource: number; readonly largestRegionIp?: number; readonly protocolRegions: Readonly<{ node: number; repv: number; nodeAndRepv: number; }>; readonly barriers: Readonly>; }; export type EntrySupercompileResult = EmitResult & { readonly supercompile: EntrySupercompileStats; }; /** * Emit and structurally join one static assembly. `extraIps` are the same * externally-addressable scan roots passed to the canonical emitter. */ export declare function supercompileEntryAssembly(prog: TableProgram, cfg: EntrySupercompileCfg, extraIps?: readonly number[]): EntrySupercompileResult; /** * Plugin-only final splice for an ordinary macro replacement. The table * compiler emits its canonical callback-free public artifact first; this pass * then finds the precompiled assembly through the table object's AST shape and * replaces only that factory body. Any mismatch returns the canonical source. */ export declare function supercompileRuleMapReplacement(prog: TableProgram, replacement: string): string; /** Build-hook form: transform the exact canonical source already selected. */ export declare function supercompileEmittedAssembly(prog: TableProgram, _cfg: EntrySupercompileCfg, extraIps: readonly number[], emitted: EmitResult): EntrySupercompileResult; //# sourceMappingURL=entry-supercompiler.d.ts.map