/**
 * POST /api/hooks — receives Claude Code lifecycle hook events.
 * Localhost only (isLocalRequest). No JWT auth needed.
 *
 * Body: { event: string, tool?: string, dir: string, session?: string }
 *
 * Event handling (order matters for Stop):
 *   PreToolUse   → update semanticStatus immediately (NO triggerRead — JSONL not written yet)
 *   PostToolUse  → triggerRead (JSONL now has tool result)
 *   Stop         → clearSemanticStatus first, then triggerRead (read final text without re-setting phase)
 */
export interface ContextData {
    usedPercentage: number;
    remainingPercentage: number;
    contextWindowSize: number;
    inputTokens: number;
    outputTokens: number;
    cacheCreationTokens: number;
    cacheReadTokens: number;
    updatedAt: number;
}
export declare function getContextData(projectId: string): ContextData | null;
export declare function setBroadcastContextUpdate(fn: (projectId: string, data: ContextData) => void): void;
declare const router: import("express-serve-static-core").Router;
export default router;
//# sourceMappingURL=hooks.d.ts.map