/**
 * Telegram Command Handler
 *
 * Handles Telegram-specific UI interactions (inline keyboards, callbacks).
 * Core commands (/new, /usage, /models, etc.) are handled by the unified command system.
 */
import type { Context } from 'grammy';
import type { TelegramAccountManager } from './account-manager.js';
import type { Config } from '@xopcai/xopc/config/index.js';
import { type ProviderInfo } from './inline-keyboards.js';
export interface TelegramCommandHandlerDeps {
    bus: any;
    config: Config;
    accountManager: TelegramAccountManager;
    getSessionModel: (sessionKey: string) => string | undefined;
    setSessionModel: (sessionKey: string, modelId: string) => void | Promise<void>;
    showProviderModels?: (ctx: Context, providerId: string) => Promise<void>;
    showProvidersAgain?: (ctx: Context) => Promise<void>;
    handleCleanupConfirm?: (ctx: Context) => Promise<void>;
}
export declare function createTelegramCommandHandler(deps: TelegramCommandHandlerDeps): {
    handleStart: (ctx: Context) => Promise<void>;
    handleModels: (ctx: Context) => Promise<void>;
    handleCleanup: (ctx: Context) => Promise<void>;
    handleProviderSelect: (ctx: Context, providerId: string) => Promise<void>;
    handleModelSelect: (ctx: Context, modelId: string) => Promise<void>;
    handleShowProviders: (ctx: Context) => Promise<void>;
    handleCleanupConfirm: (ctx: Context) => Promise<void>;
    handleCancel: (ctx: Context) => Promise<void>;
    getAvailableProviders: () => ProviderInfo[];
};
