import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
import type { Transceiver, TransceiverJson } from "./transceiver_pb";
import type { Transmitter, TransmitterJson } from "./transmitter_pb";
import type { Message } from "@bufbuild/protobuf";
/**
 * Describes the file mochabugapis/adapt/graph/v1/exchange.proto.
 */
export declare const file_mochabugapis_adapt_graph_v1_exchange: GenFile;
/**
 * Exchange represents a communication setup involving both transmitters
 * (outputs) and receivers (inputs). Outputs use the Transmitter type with a
 * Mode enum (STANDARD / STREAM / FAILURE); inputs use the lean Transceiver type.
 *
 * @generated from message mochabugapis.adapt.graph.v1.Exchange
 */
export type Exchange = Message<"mochabugapis.adapt.graph.v1.Exchange"> & {
    /**
     * Identifier for the exchange, following the ECMA naming pattern, limited to 50 characters.
     *
     * @generated from field: string name = 1;
     */
    name: string;
    /**
     * Optional human-readable label for the exchange, up to 250 characters.
     *
     * @generated from field: optional string label = 2;
     */
    label?: string | undefined;
    /**
     * Optional descriptive text for the exchange, up to 1000 characters.
     *
     * @generated from field: optional string description = 3;
     */
    description?: string | undefined;
    /**
     * Outputs of the exchange. MODE_STANDARD and MODE_FAILURE are single-shot;
     * MODE_STREAM emits multiple times.
     *
     * @generated from field: repeated mochabugapis.adapt.graph.v1.Transmitter transmitters = 4;
     */
    transmitters: Transmitter[];
    /**
     * Inputs of the exchange. Parent supplies these at dispatch time.
     *
     * @generated from field: repeated mochabugapis.adapt.graph.v1.Transceiver receivers = 5;
     */
    receivers: Transceiver[];
};
/**
 * Exchange represents a communication setup involving both transmitters
 * (outputs) and receivers (inputs). Outputs use the Transmitter type with a
 * Mode enum (STANDARD / STREAM / FAILURE); inputs use the lean Transceiver type.
 *
 * @generated from message mochabugapis.adapt.graph.v1.Exchange
 */
export type ExchangeJson = {
    /**
     * Identifier for the exchange, following the ECMA naming pattern, limited to 50 characters.
     *
     * @generated from field: string name = 1;
     */
    name?: string;
    /**
     * Optional human-readable label for the exchange, up to 250 characters.
     *
     * @generated from field: optional string label = 2;
     */
    label?: string;
    /**
     * Optional descriptive text for the exchange, up to 1000 characters.
     *
     * @generated from field: optional string description = 3;
     */
    description?: string;
    /**
     * Outputs of the exchange. MODE_STANDARD and MODE_FAILURE are single-shot;
     * MODE_STREAM emits multiple times.
     *
     * @generated from field: repeated mochabugapis.adapt.graph.v1.Transmitter transmitters = 4;
     */
    transmitters?: TransmitterJson[];
    /**
     * Inputs of the exchange. Parent supplies these at dispatch time.
     *
     * @generated from field: repeated mochabugapis.adapt.graph.v1.Transceiver receivers = 5;
     */
    receivers?: TransceiverJson[];
};
/**
 * Describes the message mochabugapis.adapt.graph.v1.Exchange.
 * Use `create(ExchangeSchema)` to create a new message.
 */
export declare const ExchangeSchema: GenMessage<Exchange, {
    jsonType: ExchangeJson;
}>;
//# sourceMappingURL=exchange_pb.d.ts.map