import type { AgentExecution } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/api_pb";
/** Props for {@link UsageWidget}. */
export interface UsageWidgetProps {
    /**
     * All executions for the current session — both completed and
     * actively streaming.  The widget aggregates cost data across
     * every execution's `usageSummary` (proxy-maintained), presenting a
     * session-level total that never resets.
     *
     * Renders nothing when the list is empty or no execution has
     * usage data.
     */
    readonly executions: readonly AgentExecution[];
    /** Additional CSS classes for the root element. */
    readonly className?: string;
}
/**
 * Right-sidebar widget that displays session-level cost and token
 * usage aggregated from per-message `LlmCallMetrics`.
 *
 * Usage data is computed purely from messages the frontend already
 * has — no server RPC is required for the real-time widget.
 *
 * Returns `null` when no execution has usage data, matching the
 * conditional-render pattern of {@link ArtifactsWidget} and
 * {@link WriteBacksWidget}.
 *
 * All visual properties flow through `--stgm-*` tokens. Zero
 * Console dependencies.
 *
 * @example
 * ```tsx
 * const conv = useSessionConversation(sessionId, org);
 *
 * <UsageWidget
 *   executions={[
 *     ...conv.completedExecutions,
 *     ...(conv.activeStreamExecution ? [conv.activeStreamExecution] : []),
 *   ]}
 * />
 * ```
 *
 * @see {@link useSessionUsage} — headless session-level usage aggregation hook
 */
export declare function UsageWidget({ executions, className }: UsageWidgetProps): import("react/jsx-runtime").JSX.Element | null;
/**
 * Formats a USD cost value for display.
 * - Zero: "$0.00"
 * - Under $1: 4 decimal places ("$0.0042")
 * - $1 and above: 2 decimal places ("$1.23")
 */
export declare function formatCost(usd: number): string;
/**
 * Formats an integer token count with comma-separated digit grouping
 * (en-US locale) for deterministic display across environments.
 */
export declare function formatTokenCount(count: number): string;
//# sourceMappingURL=UsageWidget.d.ts.map