import { CostRecordInput, CostScope, CostSnapshot, CostTrackerOptions } from "./types.js"; //#region src/cost/cost-tracker.d.ts /** * @stable */ interface CostTracker { /** Record a single LLM-call usage / cost figure. */ record(input: CostRecordInput): void; /** Snapshot for a given scope id. Returns zero figures when unknown. */ usage(scope: CostScope, id: string): CostSnapshot; /** Snapshot for a single span id (carries nested attributions). */ usageForSpan(spanId: string): CostSnapshot; /** Reset every counter back to zero. */ reset(): void; /** Subscribe to per-scope rollup notifications. Returns an unsubscribe. */ onRollup(listener: (input: CostRecordInput) => void): () => void; } /** * Build a {@link CostTracker} configured with the supplied budgets. * * @stable */ declare function createCostTracker(opts?: CostTrackerOptions): CostTracker; //#endregion export { CostTracker, createCostTracker }; //# sourceMappingURL=cost-tracker.d.ts.map