import { UpdateBinder } from "./UpdateBinder"; import type { Widget } from "../../api/binder/BaseBinderBuilder"; import type { KeyInteractionCmdUpdateBinder } from "../../api/binder/KeyInteractionCmdUpdateBinder"; import type { WhenType } from "../../api/binder/When"; import type { Binding } from "../../api/binding/Binding"; import type { BindingsObserver } from "../../api/binding/BindingsObserver"; import type { RuleName, Severity } from "../../api/checker/Checker"; import type { Command } from "../../api/command/Command"; import type { Interaction, InteractionDataType } from "../../api/interaction/Interaction"; import type { Logger } from "../../api/logging/Logger"; import type { LogLevel } from "../../api/logging/LogLevel"; import type { UndoHistoryBase } from "../../api/undo/UndoHistoryBase"; export declare class KeysBinder, A, D extends object = InteractionDataType> extends UpdateBinder implements KeyInteractionCmdUpdateBinder { private keysOrCodes; private isCode; constructor(undoHistory: UndoHistoryBase, logger: Logger, observer?: BindingsObserver, binder?: Partial>, acc?: A); private completeWhenWithKeysPredicates; with(isCode: boolean, ...keysOrCodes: ReadonlyArray): KeysBinder; on(widget: ReadonlyArray> | Widget, ...widgets: ReadonlyArray>): KeysBinder; onDynamic(node: Widget): KeysBinder; first(fn: (c: C, i: D, acc: A) => void): KeysBinder; when(fn: (() => boolean) | ((i: D, acc: Readonly) => boolean), mode?: WhenType): KeysBinder; ifHadEffects(fn: (c: C, i: D, acc: A) => void): KeysBinder; ifHadNoEffect(fn: (c: C, i: D, acc: A) => void): KeysBinder; ifCannotExecute(fn: (c: C, i: D, acc: A) => void): KeysBinder; end(fn: (c: C, i: D, acc: A) => void): KeysBinder; log(...level: ReadonlyArray): KeysBinder; stopImmediatePropagation(): KeysBinder; preventDefault(): KeysBinder; then(fn: ((c: C, i: D, acc: A) => void) | ((c: C) => void)): KeysBinder; continuousExecution(): KeysBinder; throttle(timeout: number): KeysBinder; cancel(fn: (i: D, acc: A) => void): KeysBinder; endOrCancel(fn: (i: D, acc: A) => void): KeysBinder; catch(fn: (ex: unknown) => void): KeysBinder; name(name: string): KeysBinder; configureRules(ruleName: RuleName, severity: Severity): KeysBinder; toProduce(fn: (i: D) => C2): KeysBinder; toProduceAnon(fn: () => void): KeysBinder; usingInteraction, A2, D2 extends object = InteractionDataType>(fn: () => I2): KeysBinder; protected duplicate(): KeysBinder; bind(): Binding; }