import type { Node, SourceFile } from 'tsrs/ast'; import type { Checker } from 'tsrs/async'; import type { TsBinding, TsImport } from './compiler-contract.js'; import type { TsRuntime } from './runtime.ts'; export interface BindingNode { name: string; kind: TsBinding['kind']; node: Node; functionNode?: Node; } export declare function compilerAst(runtime: TsRuntime): { inventory: (file: SourceFile, start?: number) => BindingNode[]; importRecipe: (node: Node) => TsImport | undefined; freeReferences: (node: Node, checker: Checker, typesOnly?: boolean) => Promise; modifiers: (node: Node) => never[] | import("tsrs/ast").NodeArray; }; export declare function applyEdits(source: string, edits: { start: number; end: number; text: string; }[]): string;