import type { AgentSession } from '../agent/session/agent-session.js'; import type { AgentConfig } from '../agent/types.js'; import { type WiredExecutors, type WireExecutorsOptions } from '../agent/session/wire-executors.js'; import { BackgroundAgentRegistry } from '../agent/background-registry.js'; import { TelegramBgResultNotifier } from './bg-result-notifier.js'; import type { TelegramTraceWriter } from './session-context.js'; export interface TelegramExecutorWiringOptions { apiKey: string | undefined; model: string; layeredBasePrompt: string | undefined; sessionCwd: string | undefined; traceWriter: TelegramTraceWriter; chatId: number | undefined; threadId: number | undefined; wireExtras?: Partial; } export interface TelegramExecutorWiring { executors: WiredExecutors; backgroundRegistry: BackgroundAgentRegistry; bgNotifier: TelegramBgResultNotifier; drainSubagents: AgentConfig['drainSubagents']; bindSession: (session: AgentSession) => void; } export declare function wireTelegramExecutors(opts: TelegramExecutorWiringOptions): TelegramExecutorWiring;