import type { IChannelAdapter } from './types'; import type { CrewxPlugin } from '../plugin'; export declare function defineChannelAdapter(spec: IChannelAdapter): IChannelAdapter; export interface ChannelAdapterPluginSpec { readonly name: string; readonly adapter: IChannelAdapter; readonly configFactory: (crewx: unknown) => TConfig | Promise; readonly instanceId?: string; readonly onAttach?: (crewx: unknown) => void | Promise; readonly onDetach?: (crewx: unknown) => void | Promise; } export declare function defineChannelAdapterPlugin(spec: ChannelAdapterPluginSpec): CrewxPlugin;