/**
 * webhook/budget.ts
 *
 * Daily budget tracking for webhook-triggered evaluations.
 *
 * Evaluations cost $0.50–$5+ per run. Without guardrails, rapid-fire
 * content edits could exhaust the evaluation budget. This module provides
 * a simple in-memory counter that resets daily.
 *
 * For persistent budget tracking across process restarts, store the
 * counter in Sanity or a KV store (future enhancement).
 *
 * @see docs/design-docs/report-store/visibility-workflows.md — Budget caps
 */
/** Budget tracker state */
export interface BudgetState {
    /** Number of dispatches today */
    count: number;
    /** ISO date string for the current day (YYYY-MM-DD) */
    date: string;
    /** Maximum dispatches per day */
    limit: number;
}
export interface BudgetTracker {
    /** Check if a dispatch is allowed (under budget) */
    canDispatch(): boolean;
    /** Current state */
    currentState(): BudgetState;
    /** Record a dispatch (increments counter) */
    record(): void;
    /** Remaining dispatches today */
    remaining(): number;
}
/**
 * Create a daily budget tracker.
 *
 * The counter resets automatically when the date changes (UTC).
 * State is in-memory only — restarting the process resets the counter.
 *
 * @param dailyLimit - Maximum evaluations per day (default: 20)
 */
export declare function createBudgetTracker(dailyLimit?: number): BudgetTracker;
