export declare const BATCH_LIMIT = 6; export declare const BATCH_OVER_LIMIT_CODE = "BATCH_OVER_LIMIT"; export type BatchCounterWarning = { readonly code: typeof BATCH_OVER_LIMIT_CODE; readonly batchId: string; readonly dispatched: number; readonly limit: number; readonly message: string; }; /** Build the per-batch counter file path. */ export declare function batchCounterPath(projectRoot: string, sid: string, batchId: string): string; /** A single batch counter record. */ export interface BatchCounterRecord { readonly batchId: string; readonly sessionId: string; readonly createdAt: string; readonly count: number; } /** Read the current counter; returns 0 if no file yet. */ export declare function readBatchCount(projectRoot: string, sid: string, batchId: string): number; /** Increment the counter and return the new value (with any warning). */ export declare function noteDispatched(projectRoot: string, sid: string, batchId: string, now?: () => Date): { count: number; warning: BatchCounterWarning | null; }; /** Reset a batch counter (called by the reducer when starting a new batch). */ export declare function resetBatch(projectRoot: string, sid: string, batchId: string): void;