/**
 * Telegram Channel Plugin - Implementation based on ChannelPlugin interface
 *
 * This plugin integrates Telegram with the ChannelPlugin architecture.
 * It reuses components from this package's src tree where possible.
 */
import type { Config } from '@xopcai/xopc/config/index.js';
import type { ChannelPlugin, ChannelPluginDefaults, ChannelPluginInitOptions, ChannelPluginReloadMeta, ChannelPluginStartOptions, ChannelOutboundAdapter, ChannelGatewayAdapter, ChannelStreamingAdapter, ChannelCommandAdapter } from '@xopcai/xopc/channels/plugin-types.js';
import type { TelegramResolvedAccount } from './adapters/index.js';
import type { ChannelCronDeliveryAdapter } from '@xopcai/xopc/channels/plugins/types.adapters.js';
export type { TelegramResolvedAccount as TelegramAccount } from './channel.js';
export declare class TelegramChannelPlugin implements ChannelPlugin<TelegramResolvedAccount> {
    readonly id: "telegram";
    readonly reload: ChannelPluginReloadMeta;
    readonly meta: {
        readonly id: "telegram" | "feishu" | "weixin";
        readonly label: string;
        readonly selectionLabel: "Telegram Bot";
        readonly docsPath: "/channels/telegram";
        readonly blurb: string;
        readonly order: 0;
        readonly deferConnectUntilAfterListen: true;
    };
    readonly capabilities: import("@xopcai/xopc/channels/plugin-types.js").ChannelCapabilities;
    readonly defaults: ChannelPluginDefaults;
    readonly setupWizard: import("@xopcai/xopc/channels/setup-wizard.js").ChannelSetupWizard;
    readonly configSchema: {
        schema: {};
        validate: (raw: unknown) => {
            ok: true;
            errors?: undefined;
        } | {
            ok: false;
            errors: string[];
        };
    };
    readonly cronDelivery: ChannelCronDeliveryAdapter;
    readonly configSurface: import("@xopcai/xopc/channels/plugins/types.adapters.js").ChannelConfigSurfaceAdapter;
    readonly onboard: import("@xopcai/xopc/channels/plugins/types.adapters.js").ChannelOnboardAdapter;
    readonly pairing: import("@xopcai/xopc/channels/plugins/types.adapters.js").ChannelPairingAdapter;
    private bus;
    private cfg;
    private debouncer;
    private accountManager;
    private outboundSender;
    private commandHandler;
    private inboundProcessor;
    private sessionModelHooks?;
    /** Unregister fn for the workflow-progress capability registered against the global broker. */
    private workflowProgressUnregister;
    config: import('@xopcai/xopc/channels/plugin-types.js').ChannelConfigAdapter<TelegramResolvedAccount>;
    security: import('@xopcai/xopc/channels/plugin-types.js').ChannelSecurityAdapter<TelegramResolvedAccount>;
    status: import('@xopcai/xopc/channels/plugin-types.js').ChannelStatusAdapter<TelegramResolvedAccount>;
    outbound: ChannelOutboundAdapter;
    gateway: ChannelGatewayAdapter<TelegramResolvedAccount>;
    streaming: ChannelStreamingAdapter;
    commands: ChannelCommandAdapter;
    init(options: ChannelPluginInitOptions): Promise<void>;
    private bindOutboundComponents;
    onConfigUpdated(cfg: Config): Promise<void>;
    private reapplyFromConfig;
    private loadAccounts;
    channelIsRunning(cfg: Config): boolean;
    start(options?: ChannelPluginStartOptions): Promise<void>;
    stop(accountId?: string): Promise<void>;
    private startAccount;
    private attachRunnerExitHandler;
    private setupMessageHandler;
    private handleCallbackQuery;
    private processMessages;
}
export declare const telegramPlugin: TelegramChannelPlugin;
