import type { SymbolTable } from "../symbolTable.js"; import type { AgencyConfig } from "../config/config.js"; import type { AgencyProgram } from "../types.js"; import type { Splice } from "../types/splice.js"; import type { SpliceResult } from "../compiler/splice/types.js"; /** Per-call overrides. Only the editor sets these, to keep a runaway * generator from freezing a single-threaded language server. */ export type ExpandOptions = { wallClockMs?: number; /** The caller's symbol table, so the effect check does not crawl and parse * every reachable file again at each splice site. Callers that have one * should pass it; the check builds its own when they do not. */ symbolTable?: SymbolTable; }; export declare function expandSplices(program: AgencyProgram, hostPath: string, config?: AgencyConfig, options?: ExpandOptions): SpliceResult; /** * Every splice the host file owns. * * `walkNodesArray` does not descend into a code literal, which is what * leaves a splice inside `[| ... |]` alone. That body belongs to the * program being generated, so its splices are that program's business. */ export declare function splicesIn(program: AgencyProgram): Splice[];