/** * `aidlc cost` command family: reports, capture, sync, rates, hooks. * * Machine-consumable output goes to stdout, diagnostics to stderr * (cli.ts convention). Hook-mode subcommands (record, session-start) are * silent on success — they run inside platform hooks. * * Design: design.md §1 (command surface) */ import { Command } from 'commander'; import type { CostDrivers, UnattributedSummary } from '../cost/report.js'; /** * Token counts at the magnitude they actually occur: `245k`, `1.2M`. * * Context sizes here run to hundreds of thousands, and a bare `244983` is a number * a reader has to count digits on to compare against a 150,000 budget. */ export declare function fmtTokens(tokens: number): string; /** * What a figure used, in its own unit: `12.3M tok`, `40 credits`, or `no data` when the * ledger holds nothing for it — never `0 tok` (cost-in-tokens/AC-1, AC-3). * * Tokens lead every cost report because on a Claude or Codex subscription they are * what is actually spent; the dollar figure is what the same usage would cost at API * rates, and is never charged. */ export declare function fmtUsage(tokens: number, credits: number): string; /** The dollar figure beside usage: `$4.10`, or `unpriced` when no rate prices it (cost-in-tokens/AC-3). */ export declare function fmtApiPrice(microUsd: number | null): string; /** Human age of an ISO timestamp, for the capture-error note (AC-11). */ export declare function fmtAge(timestamp: string, now?: Date): string; export declare function fmtDriverLine(d: CostDrivers): string | null; /** One whole-project line pricing the pool no instance owns (AC-8). */ export declare function fmtUnattributedLine(u: UnattributedSummary): string; export declare function registerCost(program: Command): void; //# sourceMappingURL=cost.d.ts.map