/** * Late-bound hooks so low-level services (token usage, trace recorder) can * feed the usage ledger without importing it (the ledger imports them). * * @module services/usage-ledger/ledger-hooks */ import type { TokenUsageEvent } from '../monitoring/token-usage.service.js'; /** What the ledger needs to know about a new request. */ export interface RequestMeta { traceId: string; ticketId?: string; requestId: string; title: string; description?: string; channel?: string; threadRef?: string; createdAt?: string; } /** * Register the ledger's usage observer. * * @param fn - Called after every recorded usage event; null removes it */ export declare function setUsageObserver(fn: ((session: string, event: TokenUsageEvent) => void) | null): void; /** * Register the ledger's request observer. * * @param fn - Called when a request gets its trace; null removes it */ export declare function setRequestObserver(fn: ((meta: RequestMeta) => void) | null): void; /** * A usage event was recorded. Never throws. * * @param session - Agent session * @param event - The event (trace id already stamped) */ export declare function notifyUsage(session: string, event: TokenUsageEvent): void; /** * A request was given its trace. Never throws. * * @param meta - Request facts */ export declare function notifyRequest(meta: RequestMeta): void; //# sourceMappingURL=ledger-hooks.d.ts.map