import type { Channel, ChannelDispatchRequest } from './channel.js'; import type { ToolDef } from './tools.js'; export interface ChannelContractDispatch { agent: string; request: ChannelDispatchRequest; } export interface ChannelContractRequest { route: number; request: () => Request | Promise; } export interface ChannelContractFixture { name: string; createChannel: () => Channel; conversationRef: unknown; valid: ChannelContractRequest; invalidAuthentication: ChannelContractRequest; staleAuthentication?: ChannelContractRequest; oversized?: ChannelContractRequest; handshake?: ChannelContractRequest & { expectedBody?: string; }; loopSuppression?: ChannelContractRequest; outboundTool?: () => ToolDef; secrets?: readonly string[]; assertDispatch?: (dispatch: ChannelContractDispatch) => void; } /** Shared behavioral contract for first-party and community channel adapters. */ export declare function defineChannelContractTests(fixture: ChannelContractFixture): void; //# sourceMappingURL=channel-contract.d.ts.map