import { type Run } from "./asyncContext.js"; /** Charge `amount` USD to the active branch: account it (guards + invocation * meter + subprocess relay) and enforce limits — the exact sequence the * built-in llm() path runs after each completion (see lib/runtime/prompt.ts). A * TS helper wrapping its own paid call site calls this so the cost participates * in getCost() / guard(cost:) / per-invocation usage accounting. The charge is * recorded as a `manual` observation (model sentinel `""`). * * `amount` must be a finite, nonnegative number — invalid input THROWS BEFORE * any mutation, so a real charge is never silently dropped. Throws (a * guard-trip) if enforcement fails — callers must not swallow it. */ export declare function addCost(amount: number): void; /** `addCost` for a caller that already holds the run. */ export declare function addCostTo(run: Pick, amount: number): void; /** Add `amount` tokens to the active branch accumulator. Sibling of addCost; * tokens don't interact with guards (guards are cost-based). A manual token * charge reaches getTokens() only: the run's `usage.tokens` counts provider * tokens. */ export declare function addTokens(amount: number): void; /** `addTokens` for a caller that already holds the run. */ export declare function addTokensTo(run: Pick, amount: number): void;