import type { KeyDeferredDisambiguationDecision, KeyDeferredDisambiguationHandler, KeyDisambiguationDecision, KeymapEvent, PendingSequenceCapture } from "../types.js"; export type SyncDecisionAction = "run-exact" | "continue-sequence" | "clear" | "defer"; export type DeferredDecisionAction = "run-exact" | "continue-sequence" | "clear"; export interface InternalDisambiguationDecision extends KeyDisambiguationDecision { readonly action: SyncDecisionAction; readonly handler?: KeyDeferredDisambiguationHandler; } export interface InternalDeferredDisambiguationDecision extends KeyDeferredDisambiguationDecision { readonly action: DeferredDecisionAction; } export interface PendingDisambiguation { id: number; controller: AbortController; captures: readonly PendingSequenceCapture[]; apply: (decision: InternalDeferredDisambiguationDecision | void) => void; } export declare function createSyncDecision(action: SyncDecisionAction, handler?: KeyDeferredDisambiguationHandler): InternalDisambiguationDecision; export declare function createDeferredDecision(action: DeferredDecisionAction): InternalDeferredDisambiguationDecision; export declare function isSyncDecision(value: unknown): value is InternalDisambiguationDecision; export declare function isDeferredDecision(value: unknown): value is InternalDeferredDisambiguationDecision; export declare function sleepWithSignal(ms: number, signal: AbortSignal): Promise;