import { Message, Bot, User, Update, InlineQuery, ChosenInlineResult, CallbackQuery, ShippingQuery, PreCheckoutQuery, Poll, BotEventListener } from "./_internals.js"; export declare class BotController extends Bot { #private; constructor(token: string | Bot); getMe(): Promise; on(type: "message" | "edited_message" | "channel_post" | "edited_channel_post", callback: (message: Message, bot: BotController) => void | PromiseLike, command?: string, ...filters: Array | ((message: Message, bot: BotController) => boolean | PromiseLike)>): BotEventListener; on(type: "message" | "edited_message" | "channel_post" | "edited_channel_post", callback: (message: Message, bot: BotController) => void | PromiseLike, ...filters: Array | ((message: Message, bot: BotController) => boolean | PromiseLike)>): BotEventListener; on(type: "chosen_inline_result", callback: (chosenInlineResult: ChosenInlineResult, bot: BotController) => void | PromiseLike, ...filters: Array | ((chosenInlineResult: ChosenInlineResult, bot: BotController) => boolean | PromiseLike)>): BotEventListener; on(type: "inline_query", callback: (inlineQuery: InlineQuery, bot: BotController) => void | PromiseLike, ...filters: Array | ((inlineQuery: InlineQuery, bot: BotController) => boolean | PromiseLike)>): BotEventListener; on(type: "callback_query", callback: (callbackQuery: CallbackQuery, bot: BotController) => void | PromiseLike, ...filters: Array | ((callbackQuery: CallbackQuery, bot: BotController) => boolean | PromiseLike)>): BotEventListener; on(type: "shipping_query", callback: (shippingQuery: ShippingQuery, bot: BotController) => void | PromiseLike, ...filters: Array | ((shippingQuery: ShippingQuery, bot: BotController) => boolean | PromiseLike)>): BotEventListener; on(type: "pre_checkout_query", callback: (preCheckoutQuery: PreCheckoutQuery, bot: BotController) => void | PromiseLike, ...filters: Array | ((preCheckoutQuery: PreCheckoutQuery, bot: BotController) => boolean | PromiseLike)>): BotEventListener; on(type: "poll", callback: (poll: Poll, bot: BotController) => void | PromiseLike, ...filters: Array | ((poll: Poll, bot: BotController) => boolean | PromiseLike)>): BotEventListener; on(callback: (update: Update, bot: BotController) => void | PromiseLike, ...filters: Array | ((update: Update, bot: BotController) => boolean | PromiseLike)>): BotEventListener; on(listener: BotEventListener): BotEventListener; off(listener: BotEventListener): boolean; emit(update: Update): Array>; tick(options?: Parameters[0]): Promise; /** * Start the bot's getUpdates process. */ start(): void; /** * Make the current getUpdates process be the last. */ stop(): void; }