import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
import type { Message } from "@bufbuild/protobuf";
/**
 * Describes the file mochabugapis/adapt/graph/user_defined_exchange_options.proto.
 */
export declare const file_mochabugapis_adapt_graph_user_defined_exchange_options: GenFile;
/**
 * UserDefinedExchangeOptions configures if and how users can create their own
 * exchanges on a vertex at graph construction time.
 *
 * @generated from message mochabugapis.adapt.graph.UserDefinedExchangeOptions
 */
export type UserDefinedExchangeOptions = Message<"mochabugapis.adapt.graph.UserDefinedExchangeOptions"> & {
    /**
     * Restrictions on transmitter transceivers within user-defined exchanges.
     * Unset = no restrictions beyond Exchange's own validation.
     *
     * @generated from field: optional mochabugapis.adapt.graph.UserDefinedExchangeOptions.TransceiverOptions transmitter_options = 1;
     */
    transmitterOptions?: UserDefinedExchangeOptions_TransceiverOptions;
    /**
     * Restrictions on receiver transceivers within user-defined exchanges.
     * Unset = no restrictions beyond Exchange's own validation.
     *
     * @generated from field: optional mochabugapis.adapt.graph.UserDefinedExchangeOptions.TransceiverOptions receiver_options = 2;
     */
    receiverOptions?: UserDefinedExchangeOptions_TransceiverOptions;
    /**
     * Maximum number of user-defined exchanges allowed. Unset = no limit.
     *
     * @generated from field: optional int32 max_exchanges = 3;
     */
    maxExchanges?: number;
    /**
     * Minimum number of user-defined exchanges required. Unset = no minimum.
     *
     * @generated from field: optional int32 min_exchanges = 4;
     */
    minExchanges?: number;
};
/**
 * UserDefinedExchangeOptions configures if and how users can create their own
 * exchanges on a vertex at graph construction time.
 *
 * @generated from message mochabugapis.adapt.graph.UserDefinedExchangeOptions
 */
export type UserDefinedExchangeOptionsJson = {
    /**
     * Restrictions on transmitter transceivers within user-defined exchanges.
     * Unset = no restrictions beyond Exchange's own validation.
     *
     * @generated from field: optional mochabugapis.adapt.graph.UserDefinedExchangeOptions.TransceiverOptions transmitter_options = 1;
     */
    transmitterOptions?: UserDefinedExchangeOptions_TransceiverOptionsJson;
    /**
     * Restrictions on receiver transceivers within user-defined exchanges.
     * Unset = no restrictions beyond Exchange's own validation.
     *
     * @generated from field: optional mochabugapis.adapt.graph.UserDefinedExchangeOptions.TransceiverOptions receiver_options = 2;
     */
    receiverOptions?: UserDefinedExchangeOptions_TransceiverOptionsJson;
    /**
     * Maximum number of user-defined exchanges allowed. Unset = no limit.
     *
     * @generated from field: optional int32 max_exchanges = 3;
     */
    maxExchanges?: number;
    /**
     * Minimum number of user-defined exchanges required. Unset = no minimum.
     *
     * @generated from field: optional int32 min_exchanges = 4;
     */
    minExchanges?: number;
};
/**
 * Describes the message mochabugapis.adapt.graph.UserDefinedExchangeOptions.
 * Use `create(UserDefinedExchangeOptionsSchema)` to create a new message.
 */
export declare const UserDefinedExchangeOptionsSchema: GenMessage<UserDefinedExchangeOptions, {
    jsonType: UserDefinedExchangeOptionsJson;
}>;
/**
 * TransceiverOptions restricts transceivers within user-defined exchanges.
 *
 * @generated from message mochabugapis.adapt.graph.UserDefinedExchangeOptions.TransceiverOptions
 */
export type UserDefinedExchangeOptions_TransceiverOptions = Message<"mochabugapis.adapt.graph.UserDefinedExchangeOptions.TransceiverOptions"> & {
    /**
     * Whether streaming transceivers are allowed.
     * Unset or true = allowed. False = forbidden.
     *
     * @generated from field: optional bool allow_streaming = 1;
     */
    allowStreaming?: boolean;
};
/**
 * TransceiverOptions restricts transceivers within user-defined exchanges.
 *
 * @generated from message mochabugapis.adapt.graph.UserDefinedExchangeOptions.TransceiverOptions
 */
export type UserDefinedExchangeOptions_TransceiverOptionsJson = {
    /**
     * Whether streaming transceivers are allowed.
     * Unset or true = allowed. False = forbidden.
     *
     * @generated from field: optional bool allow_streaming = 1;
     */
    allowStreaming?: boolean;
};
/**
 * Describes the message mochabugapis.adapt.graph.UserDefinedExchangeOptions.TransceiverOptions.
 * Use `create(UserDefinedExchangeOptions_TransceiverOptionsSchema)` to create a new message.
 */
export declare const UserDefinedExchangeOptions_TransceiverOptionsSchema: GenMessage<UserDefinedExchangeOptions_TransceiverOptions, {
    jsonType: UserDefinedExchangeOptions_TransceiverOptionsJson;
}>;
//# sourceMappingURL=user_defined_exchange_options_pb.d.ts.map