import { Blue, BlueNode } from '@blue-labs/language'; import { JsonPatch } from '../model/shared/json-patch.js'; import { PatchResult } from './patch-engine.js'; import { GasMeter } from './gas-meter.js'; import { ScopeRuntimeContext } from './scope-runtime-context.js'; export type DocumentUpdateData = PatchResult; export declare class DocumentProcessingRuntime { private readonly documentRef; private readonly blueRef; private readonly patchEngine; private readonly emissionRegistry; private readonly meter; private runTerminated; constructor(documentRef: BlueNode, blueRef: Blue); document(): BlueNode; scopes(): Map; scope(scopePath: string): ScopeRuntimeContext; existingScope(scopePath: string): ScopeRuntimeContext | undefined; rootEmissions(): readonly BlueNode[]; recordRootEmission(emission: BlueNode): void; addGas(amount: number): void; blue(): Blue; gasMeter(): GasMeter; totalGas(): number; isRunTerminated(): boolean; markRunTerminated(): void; isScopeTerminated(scopePath: string): boolean; directWrite(path: string, value: BlueNode | null): void; applyPatch(originScopePath: string, patch: JsonPatch): DocumentUpdateData; } //# sourceMappingURL=document-processing-runtime.d.ts.map