import type { ChatMessage } from '@genesislcap/foundation-ai';
/**
 * Total tokens across a message list — the headline figure, with the per-bucket
 * split available from {@link sumUsage} for anything that needs to show *why* a
 * large token count cost little.
 *
 * Identical arithmetic to the old per-message `inputTokens + outputTokens` sum:
 * the three input buckets partition `inputTokens`, so they re-add to it exactly.
 * It does now additionally count usage banked by a compaction, which is the point
 * — that spend used to vanish when the summarised turns left the transcript.
 *
 * Returns 0 when no message carries token metadata.
 *
 * @internal
 */
export declare function sumTokens(messages: readonly ChatMessage[]): number;
/**
 * Compact display for large token counts (e.g. 1_400_000 → value "1.4" + suffix "M").
 * Returns HTML markup so the suffix can be styled separately in the settings modal.
 *
 * @internal
 */
export declare function formatCompactTokenCount(tokens: number): string;
/** {@link formatCompactTokenCount} passed through DOMPurify for `:innerHTML` bindings. */
export declare function formatCompactTokenCountSafe(tokens: number): string;
//# sourceMappingURL=sum-tokens.d.ts.map