import type { Widget } from "./BaseBinderBuilder"; import type { CmdUpdateBinderBuilder } from "./CmdUpdateBinderBuilder"; import type { InteractionCmdUpdateBinder } from "./InteractionCmdUpdateBinder"; import type { WhenType } from "./When"; import type { RuleName, Severity } from "../checker/Checker"; import type { Command } from "../command/Command"; import type { Interaction, InteractionDataType } from "../interaction/Interaction"; import type { LogLevel } from "../logging/LogLevel"; export interface CmdUpdateBinder extends CmdUpdateBinderBuilder { then(fn: (c: C) => void): CmdUpdateBinder; continuousExecution(): CmdUpdateBinder; throttle(timeout: number): CmdUpdateBinder; first(fn: (c: C) => void): CmdUpdateBinder; on(widget: ReadonlyArray> | Widget, ...widgets: ReadonlyArray>): CmdUpdateBinder; onDynamic(node: Widget): CmdUpdateBinder; when(fn: () => boolean, mode?: WhenType): CmdUpdateBinder; log(...level: ReadonlyArray): CmdUpdateBinder; end(fn: (c: C) => void): CmdUpdateBinder; usingInteraction, A, D extends object = InteractionDataType>(fn: () => I): InteractionCmdUpdateBinder; stopImmediatePropagation(): CmdUpdateBinder; preventDefault(): CmdUpdateBinder; catch(fn: (ex: unknown) => void): CmdUpdateBinder; name(name: string): CmdUpdateBinder; configureRules(ruleName: RuleName, severity: Severity): CmdUpdateBinder; }