/** * Match interactive button_reply / template button payloads to handlers by * **prefix** (longest match wins) or by exact id. */ export interface ButtonHandlerArgs { ctx: Ctx; buttonId: string; suffix: string; } export type ButtonHandler = (args: Ctx & { buttonId: string; suffix: string; }) => void | Promise; export declare class ButtonRouter { private exactHandlers; private prefixHandlers; private _fallback; exact(id: string, handler: ButtonHandler): this; prefix(prefix: string, handler: ButtonHandler): this; fallback(handler: ButtonHandler): this; dispatch(buttonId: string | undefined | null, ctx: Ctx): Promise; } //# sourceMappingURL=button_router.d.ts.map