import { TelegramBotClient } from './bot-client.js';
import { WebhookHandler } from './webhook-handler.js';
import { ChannelManager } from './channel-manager.js';
import { StarsManager } from './stars-manager.js';
import type { DataStore } from '../data-store/index.js';
import type { EncryptedKeyStore } from '../data-store/encryption.js';
import type { TelegramBotInfo } from '../../types/telegram.js';
export declare class TelegramManager {
    private readonly dataStore;
    private readonly encryptedStore;
    private readonly bots;
    private readonly tokenToCharacterId;
    private readonly webhookHandler;
    private readonly channelManager;
    private readonly starsManager;
    constructor(dataStore: DataStore, encryptedStore: EncryptedKeyStore);
    addBot(characterId: string, token: string): Promise<TelegramBotInfo>;
    removeBot(characterId: string): Promise<void>;
    updateBot(characterId: string, newToken: string): Promise<TelegramBotInfo>;
    validateBot(characterId: string): Promise<TelegramBotInfo>;
    getBotClient(characterId: string): TelegramBotClient | undefined;
    getCharacterIdByToken(botToken: string): string | undefined;
    setupWebhook(characterId: string, baseUrl: string): Promise<void>;
    removeWebhook(characterId: string): Promise<void>;
    getWebhookHandler(): WebhookHandler;
    getChannelManager(): ChannelManager;
    getStarsManager(): StarsManager;
    start(): Promise<void>;
    stop(): Promise<void>;
    getActiveBots(): Map<string, {
        characterId: string;
        botInfo?: TelegramBotInfo;
    }>;
    getBotStatus(characterId: string): Promise<{
        active: boolean;
        botInfo?: TelegramBotInfo;
    }>;
}
//# sourceMappingURL=index.d.ts.map