export interface AgentCostRows {
    inputCost?: number | null;
    outputCost?: number | null;
    cachedCost?: number | null;
    cacheWriteCost?: number | null;
    inputAudioCost?: number | null;
    outputAudioCost?: number | null;
    outputImageCost?: number | null;
    imageCost?: number | null;
    markupCost?: number | null;
}
export declare function calculateItemizedCostTotal(costs: AgentCostRows): number;
/**
 * A cumulative snapshot can briefly carry a stale declared total while already
 * containing newer itemized costs (notably generated-image tool costs). Never
 * display or enforce a total below the costs represented by its own rows.
 */
export declare function reconcileAgentCostTotal(declaredTotal: unknown, costs: AgentCostRows): number;
export declare function formatAgentCost(value: number, currency?: string): string;
