/** * Input Logger * * Debug logging for keyboard input events and state transitions. * Only logs when debug mode is enabled. */ import type { UIState } from './types.js'; /** * Options for logging an input attempt */ export interface InputLogOptions { /** The key identifier that was pressed */ key: string; /** The current UI state */ state: UIState; /** Whether the input was valid for the current state */ valid: boolean; /** Whether the input was throttled */ throttled?: boolean; /** Reason for rejection (if not valid) */ reason?: string; } /** * Options for logging a state transition */ export interface StateTransitionLogOptions { /** Previous UI state */ from: UIState; /** New UI state */ to: UIState; /** What triggered the transition */ trigger: string; } /** * Options for logging a throttle rejection */ export interface ThrottleLogOptions { /** The action that was throttled */ action: string; /** Time since last call in milliseconds */ timeSinceLastCall: number; /** Required minimum time between calls */ minInterval: number; } /** * Log an input attempt (only in debug mode) * * @param options - Input attempt details * @param debugEnabled - Whether debug mode is enabled */ export declare function logInputAttempt(options: InputLogOptions, debugEnabled: boolean): void; /** * Log a state transition (only in debug mode) * * @param options - State transition details * @param debugEnabled - Whether debug mode is enabled */ export declare function logStateTransition(options: StateTransitionLogOptions, debugEnabled: boolean): void; /** * Log a throttle rejection (only in debug mode) * * @param options - Throttle details * @param debugEnabled - Whether debug mode is enabled */ export declare function logThrottleRejection(options: ThrottleLogOptions, debugEnabled: boolean): void; /** * Log a loading guard rejection (only in debug mode) * * @param action - The action that was blocked * @param loadingOperation - Which operation is currently loading * @param debugEnabled - Whether debug mode is enabled */ export declare function logLoadingGuardRejection(action: string, loadingOperation: string, debugEnabled: boolean): void; /** * Log an edge case handling event (only in debug mode) * * @param event - Description of the edge case * @param details - Additional details * @param debugEnabled - Whether debug mode is enabled */ export declare function logEdgeCase(event: string, details: Record, debugEnabled: boolean): void; //# sourceMappingURL=input-logger.d.ts.map