import type { API } from 'tsrs/async'; import type { TsRuntime } from './runtime.ts'; import type { TsCompileInput, TsCompileResult, TsImportReference } from './compiler-contract.js'; export type { TsBinding, TsCompileInput, TsCompileResult, TsImportReference } from './compiler-contract.js'; /** One persistent compiler child per session; execution workers never own it. */ export declare class TsCompiler { private readonly runtime; private readonly syntax; private readonly process; private readonly fileName; private readonly options; private snapshot; private snapshotHasDependencies; private globals; private snapshotGlobals; private resolver; private programId; private queue; private closed; constructor(runtime: TsRuntime, options: { cwd: string; tsserverPath?: string; }); compile(input: TsCompileInput): Promise; /** Import graph compilation borrows this owner; it must not close the API. */ withApi(operation: (api: API, runtime: TsRuntime) => Promise): Promise; scanImports(source: string): Promise; scanImportReferences(source: string): Promise; close(): Promise; private compileCell; private bindingDeclaration; private executable; }