import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
import type { Exchange, ExchangeJson } from "./exchange_pb";
import type { Receiver, ReceiverJson } from "./receiver_pb";
import type { Transmitter, TransmitterJson } from "./transmitter_pb";
import type { UserDefinedExchangeOptions, UserDefinedExchangeOptionsJson } from "./user_defined_exchange_options_pb";
import type { Message } from "@bufbuild/protobuf";
/**
 * Describes the file mochabugapis/adapt/graph/vertex_metadata.proto.
 */
export declare const file_mochabugapis_adapt_graph_vertex_metadata: GenFile;
/**
 * VertexMetadata represents the configuration for a vertex, detailing its inputs,
 * outputs, and processes (such as procedures and streams).
 *
 * @generated from message mochabugapis.adapt.graph.VertexMetadata
 */
export type VertexMetadata = Message<"mochabugapis.adapt.graph.VertexMetadata"> & {
    /**
     * Indicates if the vertex configuration is complete. Defaults to 'false'.
     *
     * @generated from field: bool complete = 1;
     */
    complete: boolean;
    /**
     * Input points for the vertex. Must contain between 1 and 50 receivers,
     * each with a unique name.
     *
     * @generated from field: repeated mochabugapis.adapt.graph.Receiver receivers = 2;
     */
    receivers: Receiver[];
    /**
     * Output points for the vertex. Can contain up to 50 transmitters,
     * each with a unique name.
     *
     * @generated from field: repeated mochabugapis.adapt.graph.Transmitter transmitters = 3;
     */
    transmitters: Transmitter[];
    /**
     * Processes initiated by transmitters and responded to by receivers.
     * Limited to 10 unique procedures.
     *
     * @generated from field: repeated mochabugapis.adapt.graph.Exchange exchanges = 4;
     */
    exchanges: Exchange[];
    /**
     * Options for user-defined exchanges on this vertex.
     * When set, users can create their own exchanges at graph construction time.
     *
     * @generated from field: optional mochabugapis.adapt.graph.UserDefinedExchangeOptions ude_options = 5;
     */
    udeOptions?: UserDefinedExchangeOptions;
    /**
     * A unix cron expression to determine when the task should run.
     *
     * @generated from field: optional string cron_schedule = 6;
     */
    cronSchedule?: string;
};
/**
 * VertexMetadata represents the configuration for a vertex, detailing its inputs,
 * outputs, and processes (such as procedures and streams).
 *
 * @generated from message mochabugapis.adapt.graph.VertexMetadata
 */
export type VertexMetadataJson = {
    /**
     * Indicates if the vertex configuration is complete. Defaults to 'false'.
     *
     * @generated from field: bool complete = 1;
     */
    complete?: boolean;
    /**
     * Input points for the vertex. Must contain between 1 and 50 receivers,
     * each with a unique name.
     *
     * @generated from field: repeated mochabugapis.adapt.graph.Receiver receivers = 2;
     */
    receivers?: ReceiverJson[];
    /**
     * Output points for the vertex. Can contain up to 50 transmitters,
     * each with a unique name.
     *
     * @generated from field: repeated mochabugapis.adapt.graph.Transmitter transmitters = 3;
     */
    transmitters?: TransmitterJson[];
    /**
     * Processes initiated by transmitters and responded to by receivers.
     * Limited to 10 unique procedures.
     *
     * @generated from field: repeated mochabugapis.adapt.graph.Exchange exchanges = 4;
     */
    exchanges?: ExchangeJson[];
    /**
     * Options for user-defined exchanges on this vertex.
     * When set, users can create their own exchanges at graph construction time.
     *
     * @generated from field: optional mochabugapis.adapt.graph.UserDefinedExchangeOptions ude_options = 5;
     */
    udeOptions?: UserDefinedExchangeOptionsJson;
    /**
     * A unix cron expression to determine when the task should run.
     *
     * @generated from field: optional string cron_schedule = 6;
     */
    cronSchedule?: string;
};
/**
 * Describes the message mochabugapis.adapt.graph.VertexMetadata.
 * Use `create(VertexMetadataSchema)` to create a new message.
 */
export declare const VertexMetadataSchema: GenMessage<VertexMetadata, {
    jsonType: VertexMetadataJson;
}>;
//# sourceMappingURL=vertex_metadata_pb.d.ts.map