import type { MonoAgentConfig } from "@mono-agent/config"; import type { AgentResponder, NotifyDeliveryContext } from "@mono-agent/agent-contracts"; import type { ChannelDriver, ChannelId, MonoAgentAppLogger, RunningChannel, ChannelStatus } from "./channels.js"; import type { ConfigApplyResult, TraceabilityStatus } from "./app-controller-types.js"; import type { InteractionBridgeHandle } from "./interaction-bridge.js"; import type { ContinuationServiceHandle } from "./continuation-service.js"; import type { NotifyDeliveryResult } from "./proactive-notify.js"; import type { NotifyDestination } from "./notify-destinations.js"; import type { ProcessJobsServiceHandle } from "./process-jobs-service.js"; import { type ProcessJobsProtectionPosture } from "./process-jobs-protection.js"; export interface ChannelsControllerPort { readonly env: Record; readonly cwd: string; readonly configReadPath: string; readonly logger: MonoAgentAppLogger | undefined; readonly drivers: readonly ChannelDriver[]; readonly driversById: ReadonlyMap; readonly statuses: Map; readonly running: Map; readonly channelStartGenerations: Map; readonly startsInFlight: Map>; readonly stopped: boolean; readonly traceabilityStatusValue: TraceabilityStatus; readonly processJobsService: ProcessJobsServiceHandle | undefined; readonly processJobsDegradation: { readonly stateDir: string; readonly reason: string; } | undefined; readonly processJobsProtectionPosture?: ProcessJobsProtectionPosture | undefined; setStatus(id: ChannelId, status: ChannelStatus): ChannelStatus; rememberSelectedSkills(coreConfig: MonoAgentConfig): void; ensureInteractionBridge(coreConfig: MonoAgentConfig): Promise; ensureContinuationService(coreConfig: MonoAgentConfig): Promise; buildResponder(coreConfig: MonoAgentConfig, channelId?: ChannelId, processJobConversationScheme?: string): Promise; notifyDestination(conversationId: string, text: string, options?: { readonly verbatim?: boolean; readonly deliveryKey?: string; readonly deliveryContext?: NotifyDeliveryContext; }): Promise; listNotifyDestinations(): Promise; observabilityContext(): Promise<{ readonly sourceId?: string; readonly sourceLabel?: string; readonly configPath?: string; }>; refreshTraceSource(reason: string): Promise; activeTransports(): readonly string[]; } export declare function startChannel(controller: ChannelsControllerPort, driver: ChannelDriver, reason: string): Promise; export declare function stopChannel(controller: ChannelsControllerPort, id: ChannelId, reason: string): Promise; export declare function setStatus(controller: ChannelsControllerPort, id: ChannelId, status: ChannelStatus): ChannelStatus; export declare function applyResult(controller: ChannelsControllerPort): ConfigApplyResult; export declare function activeTransports(controller: ChannelsControllerPort): readonly string[]; //# sourceMappingURL=app-controller-channels.d.ts.map