import { Binder } from "./Binder"; import type { Widget } from "../../api/binder/BaseBinderBuilder"; import type { CmdUpdateBinder } from "../../api/binder/CmdUpdateBinder"; import type { InteractionCmdUpdateBinder } from "../../api/binder/InteractionCmdUpdateBinder"; 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 UpdateBinder, A, D extends object = InteractionDataType> extends Binder implements CmdUpdateBinder, InteractionCmdUpdateBinder { protected thenFn?: (c: C, i: D, acc: A) => void; protected cancelFn?: (i: D, acc: A) => void; protected endOrCancelFn?: (i: D, acc: A) => void; protected continuousCmdExecution: boolean; protected throttleTimeout: number; protected thenFnArray: Array<(c: C, i: D, acc: A) => void>; protected cancelFnArray: Array<(i: D, acc: A) => void>; protected endOrCancelFnArray: Array<(i: D, acc: A) => void>; constructor(undoHistory: UndoHistoryBase, logger: Logger, observer?: BindingsObserver, binder?: Partial>, acc?: A); protected copyFnArraysUpdate(): void; then(fn: (c: C, i: D, acc: A) => void): UpdateBinder; continuousExecution(): UpdateBinder; cancel(fn: (i: D, acc: A) => void): UpdateBinder; endOrCancel(fn: (i: D, acc: A) => void): UpdateBinder; throttle(timeout: number): UpdateBinder; on(widget: ReadonlyArray> | Widget, ...widgets: ReadonlyArray>): UpdateBinder; onDynamic(node: Widget): UpdateBinder; first(fn: (c: C, i: D, acc: A) => void): UpdateBinder; when(fn: (i: D, acc: Readonly) => boolean, mode?: WhenType): UpdateBinder; ifHadEffects(fn: (c: C, i: D, acc: A) => void): UpdateBinder; ifHadNoEffect(fn: (c: C, i: D, acc: A) => void): UpdateBinder; ifCannotExecute(fn: (c: C, i: D, acc: A) => void): UpdateBinder; end(fn: (c: C, i: D, acc: A) => void): UpdateBinder; log(...level: ReadonlyArray): UpdateBinder; stopImmediatePropagation(): UpdateBinder; preventDefault(): UpdateBinder; catch(fn: (ex: unknown) => void): UpdateBinder; name(name: string): UpdateBinder; configureRules(ruleName: RuleName, severity: Severity): UpdateBinder; usingInteraction, A2, D2 extends object = InteractionDataType>(fn: () => I2): UpdateBinder; toProduce(fn: (i: D) => C2): UpdateBinder; toProduceAnon(fn: () => void): UpdateBinder; protected duplicate(): UpdateBinder; bind(): Binding; }