import { type EntryOwnerRef, type FrontMcpLogger } from '../common'; import { type ChannelType } from '../common/interfaces/channel.interface'; import { type ChannelsConfigOptions } from '../common/metadata/channel.metadata'; import type FlowRegistry from '../flows/flow.registry'; import type { NotificationService } from '../notification/notification.service'; import type ProviderRegistry from '../provider/provider.registry'; import type ToolRegistry from '../tool/tool.registry'; import { ChannelNotificationService } from './channel-notification.service'; import ChannelRegistry from './channel.registry'; import { ChannelEventBus } from './sources/app-event.source'; export interface RegisterChannelCapabilitiesArgs { providers: ProviderRegistry; owner: EntryOwnerRef; channelsList: ChannelType[]; channelsConfig: ChannelsConfigOptions; notificationService: NotificationService; flowRegistry: FlowRegistry; toolRegistry: ToolRegistry; /** Optional agent emitter subscribe function for agent-completion sources */ agentEmitterSubscribe?: (cb: (event: unknown) => void) => () => void; /** Optional job emitter subscribe function for job-completion sources */ jobEmitterSubscribe?: (cb: (event: unknown) => void) => () => void; logger: FrontMcpLogger; } export interface ChannelCapabilitiesResult { channelRegistry: ChannelRegistry; channelNotificationService: ChannelNotificationService; channelEventBus: ChannelEventBus; /** Teardown function: disconnects services and cleans up subscriptions */ teardown: () => Promise; } /** * Helper function for registering channel capabilities in scope. * Follows the skill-scope.helper.ts and job-scope.helper.ts patterns. */ export declare function registerChannelCapabilities(args: RegisterChannelCapabilitiesArgs): Promise; //# sourceMappingURL=channel-scope.helper.d.ts.map