import { ModelUsageTracker, PromptManifestTracker } from "../budget.js"; import type { ServiceConfig } from "../config.js"; import { FleetUsageAccumulator } from "../fleet-client.js"; import { CostQuota } from "../observability/cost-quota.js"; import type { Logger } from "../observability/logger.js"; import type { Metrics } from "../observability/metrics.js"; import type { BreakerStateStore, StoreBackend } from "../plugins/store-backend.js"; export interface BudgetTracingCtx { config: ServiceConfig; logger: Logger; metrics: Metrics; backend: StoreBackend | undefined; breakerState: ReturnType | undefined; } export declare function createBudgetAndTracing(ctx: BudgetTracingCtx): { brain: import("@sema-agent/core").Brain; pricing: Record; counterDegradeHook: (info: { table: string; kind: string; streak: number; prevStreak: number; error?: string; }) => void; costQuota: CostQuota | import("../plugins/pg-cost-quota.js").PgCostQuota | import("../plugins/tidb-cost-quota.js").TiDBCostQuota; modelUsageTracker: ModelUsageTracker; promptManifestTracker: PromptManifestTracker; fleetUsage: FleetUsageAccumulator | undefined; fleetLease: import("../fleet-lease.js").FleetLeaseManager | undefined; tracer: import("@sema-agent/core").TracerHook; sideQueryAccounting: (principal: string | undefined, r: { model: string; usage?: { input?: number; output?: number; cacheRead?: number; cacheWrite?: number; cost?: { total?: number; }; }; }) => void; toolResultStore: import("../plugins/store-backend.js").ToolResultStoreFull | undefined; sessionPolicyStore: import("@sema-agent/core").SessionPolicyStore | undefined; fileHistoryStore: import("../plugins/store-backend.js").ServiceFileHistoryStore | undefined; }; //# sourceMappingURL=budget-tracing.d.ts.map