import { Context } from 'telegraf'; import { SessionManagerOptions } from './session-manager.js'; export interface BotOptions extends SessionManagerOptions { botToken: string; verbose?: boolean; allowedChatIds: Set; tagOnlyChats?: Set; } export declare class TelegramBot { private bot; private sessionManager; private options; private running; private registeredCommandChats; private messageHandler; private watchManager; private autoSubscribeInterval; private static readonly AUTO_SUBSCRIBE_INTERVAL_MS; constructor(options: BotOptions); private setupHandlers; start(): Promise; stop(): Promise; getStats(): { running: boolean; activeSessions: number; totalChats: number; }; getBusySessionCount(): number; handleStart(ctx: Context): Promise; handleHelp(ctx: Context): Promise; handleClear(ctx: Context): Promise; handleMessage(ctx: Context): Promise; handlePhoto(ctx: Context): Promise; handleDocument(ctx: Context): Promise; handleModelSwitch(ctx: Context): Promise; private startAutoSubscribe; private stopAutoSubscribe; private runAutoSubscribeTick; private log; }