export type GatewayChannelExecutionIngressSource = "channel-ingress";
export type GatewayChannelExecutionEgressKind = "partial" | "final" | "approval" | "error" | "artifact" | "control";
export interface GatewayChannelExecutionIngressBindingContract {
    requestId: string;
    gatewayTargetRef: string;
    channelRequestId: string;
    replyTargetRef: string;
    channelType: string;
    channelConversationId: string;
    channelUserId: string;
    dedupeKey: string;
    receivedAt: string;
    source: GatewayChannelExecutionIngressSource;
}
export interface GatewayChannelExecutionEgressContract {
    requestId: string;
    replyTargetRef: string;
    channelRequestId?: string;
    sessionId?: string;
    turnId?: string;
    executionId?: string;
    rootExecutionId?: string;
    parentExecutionId?: string;
    sidechainId?: string;
    attemptId?: string;
    envelopeKind: GatewayChannelExecutionEgressKind;
    emittedAt: string;
    terminal: boolean;
}
