import type { Widget } from "../../api/binder/BaseBinderBuilder"; import type { CmdBinder } from "../../api/binder/CmdBinder"; import type { InteractionBinder } from "../../api/binder/InteractionBinder"; import type { InteractionCmdBinder } from "../../api/binder/InteractionCmdBinder"; import type { When, 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 abstract class Binder, A, D extends object = InteractionDataType> implements CmdBinder, InteractionBinder, InteractionCmdBinder { protected firstFn?: (c: C, i: D, acc: A) => void; protected produceFn?: (i: D | undefined) => C; protected widgets: ReadonlyArray; protected dynamicNodes: ReadonlyArray; protected usingFn?: () => I; protected hadEffectsFn?: (c: C, i: D, acc: A) => void; protected hadNoEffectFn?: (c: C, i: D, acc: A) => void; protected cannotExecFn?: (c: C, i: D, acc: A) => void; protected endFn?: (c: C, i: D, acc: A) => void; protected onErrFn?: (ex: unknown) => void; protected logLevels: ReadonlyArray; protected stopPropagation: boolean; protected prevDefault: boolean; protected bindingName: string | undefined; protected observer: BindingsObserver | undefined; protected undoHistory: UndoHistoryBase; protected logger: Logger; protected whenFnArray: Array>; protected firstFnArray: Array<(c: C, i: D, acc: A) => void>; protected endFnArray: Array<(c: C, i: D, acc: A) => void>; protected hadEffectsFnArray: Array<(c: C, i: D, acc: A) => void>; protected hadNoEffectFnArray: Array<(c: C, i: D, acc: A) => void>; protected cannotExecFnArray: Array<(c: C, i: D, acc: A) => void>; protected onErrFnArray: Array<(ex: unknown) => void>; protected accInit: A | undefined; protected linterRules: Map; protected constructor(undoHistory: UndoHistoryBase, logger: Logger, observer?: BindingsObserver, binder?: Partial>, acc?: A); protected abstract duplicate(): Binder; protected copyFnArrays(): void; on(widget: ReadonlyArray> | Widget, ...widgets: ReadonlyArray>): Binder; onDynamic(node: Widget): Binder; first(fn: (c: C, i: D, acc: A) => void): Binder; when(fn: (i: D, acc: Readonly) => boolean, mode?: WhenType): Binder; ifHadEffects(fn: (c: C, i: D, acc: A) => void): Binder; ifHadNoEffect(fn: (c: C, i: D, acc: A) => void): Binder; ifCannotExecute(fn: (c: C, i: D, acc: A) => void): Binder; end(fn: (c: C, i: D, acc: A) => void): Binder; log(...level: ReadonlyArray): Binder; stopImmediatePropagation(): Binder; preventDefault(): Binder; catch(fn: (ex: unknown) => void): Binder; name(name: string): Binder; configureRules(ruleName: RuleName, severity: Severity): Binder; usingInteraction, A2, D2 extends object = InteractionDataType>(fn: () => I2): Binder; toProduce(fn: (i: D) => C2): Binder; toProduceAnon(fn: () => void): Binder; abstract bind(): Binding; }