import type { Attributes, BindingExpander, BindingFieldCompiler, LayerBindingsTransformer, BindingParser, BindingTransformer, Command, CommandFieldCompiler, CommandTransformer, CommandResolver, EventData, KeyDisambiguationResolver, EventMatchResolver, KeyAfterInputContext, KeyInputContext, KeymapEvent, LayerFieldCompiler, PendingSequenceState, RawInputContext, ResolvedSequencePattern, CommandState, RegisteredLayer } from "../types.js"; import { type RuntimeOrderedRegistry, type RuntimePriorityRegistry } from "../lib/runtime-utils.js"; export interface LayerCommandEntry { layer: RegisteredLayer; commandState: CommandState; } export interface ResolvedCommandEntry { target?: TTarget; command: Command; attrs?: Readonly; input?: string; payload?: unknown; } export interface ActiveCommandView { layers: readonly RegisteredLayer[]; entries: readonly LayerCommandEntry[]; reachable: readonly LayerCommandEntry[]; reachableByName: ReadonlyMap>; chainsByName: ReadonlyMap[]>; } export interface CommandView { entries: readonly LayerCommandEntry[]; chainsByName: ReadonlyMap[]>; } export interface State { order: number; tokens: Map; patterns: Map>; layerFields: Map; layerBindingsTransformers: RuntimeOrderedRegistry>; bindingExpanders: RuntimeOrderedRegistry; bindingParsers: RuntimeOrderedRegistry; bindingTransformers: RuntimeOrderedRegistry>; bindingFields: Map; commandTransformers: RuntimeOrderedRegistry>; commandFields: Map; eventMatchResolvers: RuntimeOrderedRegistry>; disambiguationResolvers: RuntimeOrderedRegistry>; keyHooks: RuntimePriorityRegistry<(ctx: KeyInputContext) => void, { priority: number; release: boolean; }>; keyAfterHooks: RuntimePriorityRegistry<(ctx: KeyAfterInputContext) => void, { priority: number; release: boolean; }>; rawHooks: RuntimePriorityRegistry<(ctx: RawInputContext) => void, { priority: number; }>; layers: Set>; sortedLayers: RegisteredLayer[]; activeLayersCacheVersion: number; activeLayersCacheFocused: TTarget | null | undefined; activeLayersCache: RegisteredLayer[]; activeKeyCacheBlockers: number; activeCommandViewCacheBlockers: number; commandResolvers: RuntimeOrderedRegistry>; pending: PendingSequenceState | null; data: EventData; dataVersion: number; readonlyDataVersion: number; readonlyData: Readonly; cacheVersion: number; derivedVersion: number; stateChangeDepth: number; stateChangePending: boolean; flushingStateChange: boolean; usedWarningKeys: Set; } export declare function createKeymapState(): State;