import type { Interaction, InteractionDataType } from "./Interaction"; export interface InteractionBuilder, D extends object = InteractionDataType> { first(predicate: (i: D) => boolean): this; then(predicate: (i: D) => boolean): this; firstAndThen(predicate: (i: D) => boolean): this; end(predicate: (i: D) => boolean): this; name(name: string): this; build(): () => I; }