/**
 * Background usage reporter — periodically scans `transcript_memory.db` for
 * wake cycles that have not yet been queued into `usage.db`, builds usage
 * reports from stored tool call data, and enqueues them.
 *
 * Semantics:
 *  - `wake_cycles.usage_reported = 0` → needs to be enqueued
 *  - `wake_cycles.usage_reported = 1` → already enqueued into usage.db
 *  - Server delivery state is tracked separately in usage.db
 *
 * If tool_calls_json is NULL or invalid, the cycle is still reported with
 * empty tool calls — the server marks coverage as `missing_tool_calls`.
 */
import type { VisionClawConfig } from "../../config/types.js";
export declare class UsageReporter {
    private readonly config;
    private timer;
    private readonly scanIntervalMs;
    constructor(config: VisionClawConfig);
    /**
     * Start the periodic background scan.
     */
    start(): void;
    /**
     * Stop the periodic scan.
     */
    stop(): void;
    private tick;
    private scanAndReport;
}
//# sourceMappingURL=usage-reporter.d.ts.map