import type { KarboAI } from '../client/karboai'; import type { InteractionCallback, InteractionMiddleware, MessageCallback, MessageMiddleware } from './dispatcher'; export type CommonMiddleware = (context: { karbo: KarboAI; }) => Promise; export type CommandOptions = { middlewares: MessageMiddleware[]; }; export type CommandFunctionOverload = { (startsWith: string, callback: MessageCallback): Promise; (startsWith: string, options: CommandOptions, callback: MessageCallback): Promise; }; export type ButtonOptions = { middlewares?: InteractionMiddleware[]; regex?: RegExp; }; export type ButtonFunctionOverload = { (buttonId: string, callback: InteractionCallback): Promise; (buttonId: string, options: ButtonOptions, callback: InteractionCallback): Promise; }; export type MiddlewareMap = { message: MessageMiddleware; interaction: InteractionMiddleware; common: CommonMiddleware; }; export type MiddlewareKeys = keyof MiddlewareMap; //# sourceMappingURL=router.d.ts.map