import type { DmPolicy, GroupPolicy, ReplyToMode } from '@xopcai/xopc/channels/channel-domain.js'; export interface TelegramTopicConfig { topicId?: string; requireMention?: boolean; enabled?: boolean; allowFrom?: Array; systemPrompt?: string; agentId?: string; groupPolicy?: GroupPolicy; } export interface TelegramGroupConfig { groupId?: string; requireMention?: boolean; groupPolicy?: GroupPolicy; enabled?: boolean; allowFrom?: Array; systemPrompt?: string; agentId?: string; topics?: Record; } export interface TelegramAccountConfig { accountId: string; name?: string; enabled?: boolean; botToken?: string; tokenFile?: string; dmPolicy?: DmPolicy; groupPolicy?: GroupPolicy; replyToMode?: ReplyToMode; allowFrom?: Array; groupAllowFrom?: Array; groups?: Record; historyLimit?: number; textChunkLimit?: number; streaming?: { mode?: 'off' | 'partial' | 'block'; preview?: { toolProgress?: boolean; }; block?: { coalesce?: { minChars?: number; idleMs?: number; }; }; }; proxy?: string; apiRoot?: string; pollingStallThresholdMs?: number; reactionLevel?: 'off' | 'ack' | 'minimal' | 'extensive'; reactionNotifications?: 'off' | 'own' | 'all'; ackReaction?: string; tokenSource?: string; }