#!/usr/bin/env bun
/**
 * Ctrl+C debounce helper for Atomic-managed tmux panes.
 *
 * Invoked from `tmux.conf` on every root-table Ctrl+C:
 *
 *   bind -n C-c run-shell -b '"#{@atomic-bun}" "#{@atomic-cc-debounce}" "#{pane_id}"'
 *
 * The binding sits on the shared atomic tmux server, so the debounce
 * applies uniformly to every pane — Claude Code, OpenCode, and Copilot
 * CLI, in both chat and workflow sessions.
 *
 * Rule: forward Ctrl+C only if the previous press is more than QUIET_MS
 * ago. The state file is touched on *every* press (forwarded or
 * swallowed) so sustained spam keeps extending the cooldown instead of
 * letting a press leak through every QUIET_MS interval — which is what
 * would otherwise still trigger an agent CLI's "double-tap to exit"
 * confirmation.
 */
/** Quiet period (ms) the user must leave between presses for the next
 *  one to be forwarded. Must exceed every integrated agent's exit-confirm
 *  window — Claude Code's is the widest (~1.5 s), so 1200 ms is a safe
 *  margin that still feels responsive for legitimate double-interrupts. */
export declare const QUIET_MS = 1200;
/** Pure decision helper — exported so tests can exercise it without
 *  touching the filesystem or spawning tmux. Returns `true` when the
 *  press should be forwarded, `false` when it should be swallowed. */
export declare function shouldForward(nowMs: number, lastMs: number, quietMs?: number): boolean;
//# sourceMappingURL=cc-debounce.d.ts.map