import type { BaseBinderBuilder, Widget } from "./BaseBinderBuilder"; import type { WhenType } from "./When"; import type { RuleName, Severity } from "../checker/Checker"; import type { Command } from "../command/Command"; import type { LogLevel } from "../logging/LogLevel"; export interface CmdBinderBuilder extends BaseBinderBuilder { first(fn: (c: C) => void): CmdBinderBuilder; end(fn: (c: C) => void): CmdBinderBuilder; on(widget: ReadonlyArray> | Widget, ...widgets: ReadonlyArray>): CmdBinderBuilder; onDynamic(node: Widget): CmdBinderBuilder; when(fn: () => boolean, mode?: WhenType): CmdBinderBuilder; log(...level: ReadonlyArray): CmdBinderBuilder; stopImmediatePropagation(): CmdBinderBuilder; preventDefault(): CmdBinderBuilder; catch(fn: (ex: unknown) => void): CmdBinderBuilder; name(name: string): CmdBinderBuilder; configureRules(ruleName: RuleName, severity: Severity): CmdBinderBuilder; }