/** * 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 './pairing-config-resolver.js'; 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'; import { handleTelegramChannelAction } from './actions/message-actions.js'; export type { TelegramResolvedAccount as TelegramAccount } from './channel.js'; export declare class TelegramChannelPlugin implements ChannelPlugin { readonly id: "telegram"; readonly reload: ChannelPluginReloadMeta; readonly meta: { readonly id: "telegram"; readonly label: "Telegram"; readonly selectionLabel: "Telegram Bot"; readonly docsPath: "/channels/telegram"; readonly blurb: "Telegram Bot API channel"; readonly order: 0; readonly deferConnectUntilAfterListen: true; }; readonly capabilities: { readonly chatTypes: Array<"direct" | "group" | "channel" | "thread">; readonly reactions: true; readonly threads: true; readonly media: true; readonly polls: false; readonly nativeCommands: true; readonly blockStreaming: true; }; 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 onboard: import("@xopcai/xopc/channels/plugins/types.adapters.js").ChannelOnboardAdapter; readonly runtimeActions: import("@xopcai/xopc/channels/plugins/types.adapters.js").ChannelRuntimeActionAdapter; readonly doctor: { check: (params: { cfg: Config; }) => Promise; }; 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; private inboundCoalescer; private execApprovalUnregister; readonly actions: { handleAction: typeof handleTelegramChannelAction; }; config: import('@xopcai/xopc/channels/plugin-types.js').ChannelConfigAdapter; security: import('@xopcai/xopc/channels/plugin-types.js').ChannelSecurityAdapter; status: import('@xopcai/xopc/channels/plugin-types.js').ChannelStatusAdapter; outbound: ChannelOutboundAdapter; gateway: ChannelGatewayAdapter; streaming: ChannelStreamingAdapter; commands: ChannelCommandAdapter; init(options: ChannelPluginInitOptions): Promise; private registerWorkflowProgressCapability; private bindOutboundComponents; onConfigUpdated(cfg: Config): Promise; private reapplyFromConfig; private loadAccounts; channelIsRunning(cfg: Config): boolean; start(options?: ChannelPluginStartOptions): Promise; stop(accountId?: string): Promise; private startAccount; private attachRunnerExitHandler; private setupMessageHandler; private handleCallbackQuery; private processMessages; } export declare const telegramPlugin: TelegramChannelPlugin;