import type { Binding } from "../binding/Binding"; import type { Command } from "../command/Command"; import type { Interaction } from "../interaction/Interaction"; export type RuleName = "included" | "same-data" | "same-interactions"; export type Severity = "err" | "ignore" | "warn"; export type LinterRule = [name: RuleName, severity: Severity]; export interface Checker { setLinterRules(...rules: ReadonlyArray): void; checkRules(binding: Binding, unknown>, binds: ReadonlyArray, unknown>>): void; checkSameInteractions(binding: Binding, unknown>, binds: ReadonlyArray, unknown>>): void; checkSameData(binding: Binding, unknown>, binds: ReadonlyArray, unknown>>): void; checkIncluded(binding: Binding, unknown>, binds: ReadonlyArray, unknown>>): void; }