import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
import type { FieldMask, FieldMaskJson } from "@bufbuild/protobuf/wkt";
import type { SignalDescriptor, SignalDescriptorJson } from "../../graph/signal_descriptor_pb";
import type { SignalFormat, SignalFormatJson } from "../../graph/signal_format_pb";
import type { Transmitter, TransmitterJson } from "../../graph/transmitter_pb";
import type { VertexMetadata, VertexMetadataJson } from "../../graph/vertex_metadata_pb";
import type { ConditionalWriteOperation, ConditionalWriteOperationJson, GetValue, GetValueJson, Namespace, NamespaceJson, SelectOp, SelectOpJson, ValueMetadata, ValueMetadataJson, WriteOperation, WriteOperationJson } from "./store_pb";
import type { Message } from "@bufbuild/protobuf";
/**
 * Describes the file mochabugapis/adapt/runtime/v1/configurator_service.proto.
 */
export declare const file_mochabugapis_adapt_runtime_v1_configurator_service: GenFile;
/**
 * The ListIncomingSignalsRequest is used to list the signals on the receiver you query
 * If you have multiple receivers you should call this endpoint multiple times
 *
 * @generated from message mochabugapis.adapt.runtime.v1.ListIncomingSignalsRequest
 */
export type ListIncomingSignalsRequest = Message<"mochabugapis.adapt.runtime.v1.ListIncomingSignalsRequest"> & {
    /**
     * The receiver you want to check for signals, if not set, the first connected receiver is used
     *
     * @generated from field: optional string receiver = 1;
     */
    receiver?: string;
    /**
     * Optional formats to filter the signals by. I.e. only return signals that subsumes to at least one schema in the array
     *
     * @generated from field: repeated mochabugapis.adapt.graph.SignalFormat formats = 2;
     */
    formats: SignalFormat[];
    /**
     * A fieldmaks to apply to the returned schema
     * I.e. if you want to omit logos you should set this to "vertices" + additional info
     *
     * @generated from field: optional google.protobuf.FieldMask field_mask = 3;
     */
    fieldMask?: FieldMask;
};
/**
 * The ListIncomingSignalsRequest is used to list the signals on the receiver you query
 * If you have multiple receivers you should call this endpoint multiple times
 *
 * @generated from message mochabugapis.adapt.runtime.v1.ListIncomingSignalsRequest
 */
export type ListIncomingSignalsRequestJson = {
    /**
     * The receiver you want to check for signals, if not set, the first connected receiver is used
     *
     * @generated from field: optional string receiver = 1;
     */
    receiver?: string;
    /**
     * Optional formats to filter the signals by. I.e. only return signals that subsumes to at least one schema in the array
     *
     * @generated from field: repeated mochabugapis.adapt.graph.SignalFormat formats = 2;
     */
    formats?: SignalFormatJson[];
    /**
     * A fieldmaks to apply to the returned schema
     * I.e. if you want to omit logos you should set this to "vertices" + additional info
     *
     * @generated from field: optional google.protobuf.FieldMask field_mask = 3;
     */
    fieldMask?: FieldMaskJson;
};
/**
 * Describes the message mochabugapis.adapt.runtime.v1.ListIncomingSignalsRequest.
 * Use `create(ListIncomingSignalsRequestSchema)` to create a new message.
 */
export declare const ListIncomingSignalsRequestSchema: GenMessage<ListIncomingSignalsRequest, {
    jsonType: ListIncomingSignalsRequestJson;
}>;
/**
 * A representation of a signal on a receiver
 *
 * @generated from message mochabugapis.adapt.runtime.v1.IncomingVertices
 */
export type IncomingVertices = Message<"mochabugapis.adapt.runtime.v1.IncomingVertices"> & {
    /**
     * The vertex id
     *
     * @generated from field: string id = 1;
     */
    id: string;
    /**
     * The label
     *
     * @generated from field: string label = 2;
     */
    label: string;
    /**
     * The description
     *
     * @generated from field: optional string description = 3;
     */
    description?: string;
    /**
     * The transmitters on the vertex
     *
     * @generated from field: repeated mochabugapis.adapt.graph.Transmitter transmitters = 4;
     */
    transmitters: Transmitter[];
    /**
     * We also need to know the vertex type
     *
     * @generated from field: mochabugapis.adapt.runtime.v1.VertexType vertex_type = 5;
     */
    vertexType: VertexType;
    /**
     * Optional logo for the vertex, use it to get the logo from the map
     *
     * @generated from field: optional string logo_id = 6;
     */
    logoId?: string;
};
/**
 * A representation of a signal on a receiver
 *
 * @generated from message mochabugapis.adapt.runtime.v1.IncomingVertices
 */
export type IncomingVerticesJson = {
    /**
     * The vertex id
     *
     * @generated from field: string id = 1;
     */
    id?: string;
    /**
     * The label
     *
     * @generated from field: string label = 2;
     */
    label?: string;
    /**
     * The description
     *
     * @generated from field: optional string description = 3;
     */
    description?: string;
    /**
     * The transmitters on the vertex
     *
     * @generated from field: repeated mochabugapis.adapt.graph.Transmitter transmitters = 4;
     */
    transmitters?: TransmitterJson[];
    /**
     * We also need to know the vertex type
     *
     * @generated from field: mochabugapis.adapt.runtime.v1.VertexType vertex_type = 5;
     */
    vertexType?: VertexTypeJson;
    /**
     * Optional logo for the vertex, use it to get the logo from the map
     *
     * @generated from field: optional string logo_id = 6;
     */
    logoId?: string;
};
/**
 * Describes the message mochabugapis.adapt.runtime.v1.IncomingVertices.
 * Use `create(IncomingVerticesSchema)` to create a new message.
 */
export declare const IncomingVerticesSchema: GenMessage<IncomingVertices, {
    jsonType: IncomingVerticesJson;
}>;
/**
 * The ListIncomingSignalsResponse is used to return the signals on the receiver you query
 *
 * @generated from message mochabugapis.adapt.runtime.v1.ListIncomingSignalsResponse
 */
export type ListIncomingSignalsResponse = Message<"mochabugapis.adapt.runtime.v1.ListIncomingSignalsResponse"> & {
    /**
     * The incoming vertices
     *
     * @generated from field: repeated mochabugapis.adapt.runtime.v1.IncomingVertices vertices = 1;
     */
    vertices: IncomingVertices[];
    /**
     * A map that maps vertex logo ids to logo
     *
     * @generated from field: map<string, string> vertex_logos = 2;
     */
    vertexLogos: {
        [key: string]: string;
    };
    /**
     * The receiver the signals are fetched on
     * This is set, since otherwise the request would return not found
     *
     * @generated from field: string receiver = 3;
     */
    receiver: string;
    /**
     * Project-level constants available for binding. Same as any signal — name, formats, no data.
     *
     * @generated from field: repeated mochabugapis.adapt.graph.SignalDescriptor constants = 4;
     */
    constants: SignalDescriptor[];
};
/**
 * The ListIncomingSignalsResponse is used to return the signals on the receiver you query
 *
 * @generated from message mochabugapis.adapt.runtime.v1.ListIncomingSignalsResponse
 */
export type ListIncomingSignalsResponseJson = {
    /**
     * The incoming vertices
     *
     * @generated from field: repeated mochabugapis.adapt.runtime.v1.IncomingVertices vertices = 1;
     */
    vertices?: IncomingVerticesJson[];
    /**
     * A map that maps vertex logo ids to logo
     *
     * @generated from field: map<string, string> vertex_logos = 2;
     */
    vertexLogos?: {
        [key: string]: string;
    };
    /**
     * The receiver the signals are fetched on
     * This is set, since otherwise the request would return not found
     *
     * @generated from field: string receiver = 3;
     */
    receiver?: string;
    /**
     * Project-level constants available for binding. Same as any signal — name, formats, no data.
     *
     * @generated from field: repeated mochabugapis.adapt.graph.SignalDescriptor constants = 4;
     */
    constants?: SignalDescriptorJson[];
};
/**
 * Describes the message mochabugapis.adapt.runtime.v1.ListIncomingSignalsResponse.
 * Use `create(ListIncomingSignalsResponseSchema)` to create a new message.
 */
export declare const ListIncomingSignalsResponseSchema: GenMessage<ListIncomingSignalsResponse, {
    jsonType: ListIncomingSignalsResponseJson;
}>;
/**
 * The batch store operation for the configuration store
 *
 * @generated from message mochabugapis.adapt.runtime.v1.ConfiguratorServiceBatchWriteStoreRequest
 */
export type ConfiguratorServiceBatchWriteStoreRequest = Message<"mochabugapis.adapt.runtime.v1.ConfiguratorServiceBatchWriteStoreRequest"> & {
    /**
     * A batch of operations to perform in the configurator store.
     * Refer to the comments on the `StoreNamespace` enum for details on scope requirements.
     *
     * @generated from field: repeated mochabugapis.adapt.runtime.v1.WriteOperation operations = 1;
     */
    operations: WriteOperation[];
    /**
     * The namespace where the batch is applied.
     *
     * @generated from field: mochabugapis.adapt.runtime.v1.Namespace namespace = 2;
     */
    namespace: Namespace;
};
/**
 * The batch store operation for the configuration store
 *
 * @generated from message mochabugapis.adapt.runtime.v1.ConfiguratorServiceBatchWriteStoreRequest
 */
export type ConfiguratorServiceBatchWriteStoreRequestJson = {
    /**
     * A batch of operations to perform in the configurator store.
     * Refer to the comments on the `StoreNamespace` enum for details on scope requirements.
     *
     * @generated from field: repeated mochabugapis.adapt.runtime.v1.WriteOperation operations = 1;
     */
    operations?: WriteOperationJson[];
    /**
     * The namespace where the batch is applied.
     *
     * @generated from field: mochabugapis.adapt.runtime.v1.Namespace namespace = 2;
     */
    namespace?: NamespaceJson;
};
/**
 * Describes the message mochabugapis.adapt.runtime.v1.ConfiguratorServiceBatchWriteStoreRequest.
 * Use `create(ConfiguratorServiceBatchWriteStoreRequestSchema)` to create a new message.
 */
export declare const ConfiguratorServiceBatchWriteStoreRequestSchema: GenMessage<ConfiguratorServiceBatchWriteStoreRequest, {
    jsonType: ConfiguratorServiceBatchWriteStoreRequestJson;
}>;
/**
 * The response of the batch store
 *
 * @generated from message mochabugapis.adapt.runtime.v1.ConfiguratorServiceBatchWriteStoreResponse
 */
export type ConfiguratorServiceBatchWriteStoreResponse = Message<"mochabugapis.adapt.runtime.v1.ConfiguratorServiceBatchWriteStoreResponse"> & {
    /**
     * Metadata for each written key.
     * Note: Metadata is only returned for insert operations, not for delete operations.
     *
     * @generated from field: map<string, mochabugapis.adapt.runtime.v1.ValueMetadata> metadata = 1;
     */
    metadata: {
        [key: string]: ValueMetadata;
    };
};
/**
 * The response of the batch store
 *
 * @generated from message mochabugapis.adapt.runtime.v1.ConfiguratorServiceBatchWriteStoreResponse
 */
export type ConfiguratorServiceBatchWriteStoreResponseJson = {
    /**
     * Metadata for each written key.
     * Note: Metadata is only returned for insert operations, not for delete operations.
     *
     * @generated from field: map<string, mochabugapis.adapt.runtime.v1.ValueMetadata> metadata = 1;
     */
    metadata?: {
        [key: string]: ValueMetadataJson;
    };
};
/**
 * Describes the message mochabugapis.adapt.runtime.v1.ConfiguratorServiceBatchWriteStoreResponse.
 * Use `create(ConfiguratorServiceBatchWriteStoreResponseSchema)` to create a new message.
 */
export declare const ConfiguratorServiceBatchWriteStoreResponseSchema: GenMessage<ConfiguratorServiceBatchWriteStoreResponse, {
    jsonType: ConfiguratorServiceBatchWriteStoreResponseJson;
}>;
/**
 * The write store request
 *
 * @generated from message mochabugapis.adapt.runtime.v1.ConfiguratorServiceWriteStoreRequest
 */
export type ConfiguratorServiceWriteStoreRequest = Message<"mochabugapis.adapt.runtime.v1.ConfiguratorServiceWriteStoreRequest"> & {
    /**
     * The difference in the single write request is that we support conditional
     * write operations here. These are useful for implementing locks etc.
     * Conditional write operations behaves strangely inside a batch operation since
     * the entire batch becomes conditional and they do not follow timestamps
     *
     * @generated from field: mochabugapis.adapt.runtime.v1.ConditionalWriteOperation operation = 1;
     */
    operation?: ConditionalWriteOperation;
    /**
     * The namespace where the operation is applied.
     *
     * @generated from field: mochabugapis.adapt.runtime.v1.Namespace namespace = 2;
     */
    namespace: Namespace;
};
/**
 * The write store request
 *
 * @generated from message mochabugapis.adapt.runtime.v1.ConfiguratorServiceWriteStoreRequest
 */
export type ConfiguratorServiceWriteStoreRequestJson = {
    /**
     * The difference in the single write request is that we support conditional
     * write operations here. These are useful for implementing locks etc.
     * Conditional write operations behaves strangely inside a batch operation since
     * the entire batch becomes conditional and they do not follow timestamps
     *
     * @generated from field: mochabugapis.adapt.runtime.v1.ConditionalWriteOperation operation = 1;
     */
    operation?: ConditionalWriteOperationJson;
    /**
     * The namespace where the operation is applied.
     *
     * @generated from field: mochabugapis.adapt.runtime.v1.Namespace namespace = 2;
     */
    namespace?: NamespaceJson;
};
/**
 * Describes the message mochabugapis.adapt.runtime.v1.ConfiguratorServiceWriteStoreRequest.
 * Use `create(ConfiguratorServiceWriteStoreRequestSchema)` to create a new message.
 */
export declare const ConfiguratorServiceWriteStoreRequestSchema: GenMessage<ConfiguratorServiceWriteStoreRequest, {
    jsonType: ConfiguratorServiceWriteStoreRequestJson;
}>;
/**
 * The response of the single write store
 *
 * @generated from message mochabugapis.adapt.runtime.v1.ConfiguratorServiceWriteStoreResponse
 */
export type ConfiguratorServiceWriteStoreResponse = Message<"mochabugapis.adapt.runtime.v1.ConfiguratorServiceWriteStoreResponse"> & {
    /**
     * The metadata for the written key.
     * Note: Metadata is only returned for insert operations, not for delete operations.
     *
     * @generated from field: optional mochabugapis.adapt.runtime.v1.ValueMetadata metadata = 1;
     */
    metadata?: ValueMetadata;
};
/**
 * The response of the single write store
 *
 * @generated from message mochabugapis.adapt.runtime.v1.ConfiguratorServiceWriteStoreResponse
 */
export type ConfiguratorServiceWriteStoreResponseJson = {
    /**
     * The metadata for the written key.
     * Note: Metadata is only returned for insert operations, not for delete operations.
     *
     * @generated from field: optional mochabugapis.adapt.runtime.v1.ValueMetadata metadata = 1;
     */
    metadata?: ValueMetadataJson;
};
/**
 * Describes the message mochabugapis.adapt.runtime.v1.ConfiguratorServiceWriteStoreResponse.
 * Use `create(ConfiguratorServiceWriteStoreResponseSchema)` to create a new message.
 */
export declare const ConfiguratorServiceWriteStoreResponseSchema: GenMessage<ConfiguratorServiceWriteStoreResponse, {
    jsonType: ConfiguratorServiceWriteStoreResponseJson;
}>;
/**
 * The batch store operation for the configuration store
 *
 * @generated from message mochabugapis.adapt.runtime.v1.ConfiguratorServiceBatchReadStoreRequest
 */
export type ConfiguratorServiceBatchReadStoreRequest = Message<"mochabugapis.adapt.runtime.v1.ConfiguratorServiceBatchReadStoreRequest"> & {
    /**
     * Keys to fetch from the configurator store
     * Refer to the comments on the `Namespace` enum for details on scope requirements
     *
     * @generated from field: repeated string keys = 1;
     */
    keys: string[];
    /**
     * The namespace where the batch is applied.
     *
     * @generated from field: mochabugapis.adapt.runtime.v1.Namespace namespace = 2;
     */
    namespace: Namespace;
};
/**
 * The batch store operation for the configuration store
 *
 * @generated from message mochabugapis.adapt.runtime.v1.ConfiguratorServiceBatchReadStoreRequest
 */
export type ConfiguratorServiceBatchReadStoreRequestJson = {
    /**
     * Keys to fetch from the configurator store
     * Refer to the comments on the `Namespace` enum for details on scope requirements
     *
     * @generated from field: repeated string keys = 1;
     */
    keys?: string[];
    /**
     * The namespace where the batch is applied.
     *
     * @generated from field: mochabugapis.adapt.runtime.v1.Namespace namespace = 2;
     */
    namespace?: NamespaceJson;
};
/**
 * Describes the message mochabugapis.adapt.runtime.v1.ConfiguratorServiceBatchReadStoreRequest.
 * Use `create(ConfiguratorServiceBatchReadStoreRequestSchema)` to create a new message.
 */
export declare const ConfiguratorServiceBatchReadStoreRequestSchema: GenMessage<ConfiguratorServiceBatchReadStoreRequest, {
    jsonType: ConfiguratorServiceBatchReadStoreRequestJson;
}>;
/**
 * The response of the batch store
 *
 * @generated from message mochabugapis.adapt.runtime.v1.ConfiguratorServiceBatchReadStoreResponse
 */
export type ConfiguratorServiceBatchReadStoreResponse = Message<"mochabugapis.adapt.runtime.v1.ConfiguratorServiceBatchReadStoreResponse"> & {
    /**
     * Map of key to value
     *
     * @generated from field: map<string, mochabugapis.adapt.runtime.v1.GetValue> items = 1;
     */
    items: {
        [key: string]: GetValue;
    };
};
/**
 * The response of the batch store
 *
 * @generated from message mochabugapis.adapt.runtime.v1.ConfiguratorServiceBatchReadStoreResponse
 */
export type ConfiguratorServiceBatchReadStoreResponseJson = {
    /**
     * Map of key to value
     *
     * @generated from field: map<string, mochabugapis.adapt.runtime.v1.GetValue> items = 1;
     */
    items?: {
        [key: string]: GetValueJson;
    };
};
/**
 * Describes the message mochabugapis.adapt.runtime.v1.ConfiguratorServiceBatchReadStoreResponse.
 * Use `create(ConfiguratorServiceBatchReadStoreResponseSchema)` to create a new message.
 */
export declare const ConfiguratorServiceBatchReadStoreResponseSchema: GenMessage<ConfiguratorServiceBatchReadStoreResponse, {
    jsonType: ConfiguratorServiceBatchReadStoreResponseJson;
}>;
/**
 * The request to select from the configuration store
 *
 * @generated from message mochabugapis.adapt.runtime.v1.ConfiguratorServiceSelectStoreRequest
 */
export type ConfiguratorServiceSelectStoreRequest = Message<"mochabugapis.adapt.runtime.v1.ConfiguratorServiceSelectStoreRequest"> & {
    /**
     * The select operation to perform
     *
     * @generated from field: mochabugapis.adapt.runtime.v1.SelectOp operation = 1;
     */
    operation?: SelectOp;
    /**
     * The namespace where the operation is applied
     *
     * @generated from field: mochabugapis.adapt.runtime.v1.Namespace namespace = 2;
     */
    namespace: Namespace;
};
/**
 * The request to select from the configuration store
 *
 * @generated from message mochabugapis.adapt.runtime.v1.ConfiguratorServiceSelectStoreRequest
 */
export type ConfiguratorServiceSelectStoreRequestJson = {
    /**
     * The select operation to perform
     *
     * @generated from field: mochabugapis.adapt.runtime.v1.SelectOp operation = 1;
     */
    operation?: SelectOpJson;
    /**
     * The namespace where the operation is applied
     *
     * @generated from field: mochabugapis.adapt.runtime.v1.Namespace namespace = 2;
     */
    namespace?: NamespaceJson;
};
/**
 * Describes the message mochabugapis.adapt.runtime.v1.ConfiguratorServiceSelectStoreRequest.
 * Use `create(ConfiguratorServiceSelectStoreRequestSchema)` to create a new message.
 */
export declare const ConfiguratorServiceSelectStoreRequestSchema: GenMessage<ConfiguratorServiceSelectStoreRequest, {
    jsonType: ConfiguratorServiceSelectStoreRequestJson;
}>;
/**
 * The response of the select store
 *
 * @generated from message mochabugapis.adapt.runtime.v1.ConfiguratorServiceSelectStoreResponse
 */
export type ConfiguratorServiceSelectStoreResponse = Message<"mochabugapis.adapt.runtime.v1.ConfiguratorServiceSelectStoreResponse"> & {
    /**
     * Results
     *
     * @generated from field: map<string, mochabugapis.adapt.runtime.v1.GetValue> items = 1;
     */
    items: {
        [key: string]: GetValue;
    };
    /**
     * Next page token
     *
     * @generated from field: optional string next_token = 2;
     */
    nextToken?: string;
};
/**
 * The response of the select store
 *
 * @generated from message mochabugapis.adapt.runtime.v1.ConfiguratorServiceSelectStoreResponse
 */
export type ConfiguratorServiceSelectStoreResponseJson = {
    /**
     * Results
     *
     * @generated from field: map<string, mochabugapis.adapt.runtime.v1.GetValue> items = 1;
     */
    items?: {
        [key: string]: GetValueJson;
    };
    /**
     * Next page token
     *
     * @generated from field: optional string next_token = 2;
     */
    nextToken?: string;
};
/**
 * Describes the message mochabugapis.adapt.runtime.v1.ConfiguratorServiceSelectStoreResponse.
 * Use `create(ConfiguratorServiceSelectStoreResponseSchema)` to create a new message.
 */
export declare const ConfiguratorServiceSelectStoreResponseSchema: GenMessage<ConfiguratorServiceSelectStoreResponse, {
    jsonType: ConfiguratorServiceSelectStoreResponseJson;
}>;
/**
 * The get vertex request
 *
 * @generated from message mochabugapis.adapt.runtime.v1.ConfiguratorServiceGetVertexConfigRequest
 */
export type ConfiguratorServiceGetVertexConfigRequest = Message<"mochabugapis.adapt.runtime.v1.ConfiguratorServiceGetVertexConfigRequest"> & {
    /**
     * A field mask to apply to the item
     *
     * @generated from field: optional google.protobuf.FieldMask field_mask = 1;
     */
    fieldMask?: FieldMask;
};
/**
 * The get vertex request
 *
 * @generated from message mochabugapis.adapt.runtime.v1.ConfiguratorServiceGetVertexConfigRequest
 */
export type ConfiguratorServiceGetVertexConfigRequestJson = {
    /**
     * A field mask to apply to the item
     *
     * @generated from field: optional google.protobuf.FieldMask field_mask = 1;
     */
    fieldMask?: FieldMaskJson;
};
/**
 * Describes the message mochabugapis.adapt.runtime.v1.ConfiguratorServiceGetVertexConfigRequest.
 * Use `create(ConfiguratorServiceGetVertexConfigRequestSchema)` to create a new message.
 */
export declare const ConfiguratorServiceGetVertexConfigRequestSchema: GenMessage<ConfiguratorServiceGetVertexConfigRequest, {
    jsonType: ConfiguratorServiceGetVertexConfigRequestJson;
}>;
/**
 * The get vertex response
 *
 * @generated from message mochabugapis.adapt.runtime.v1.ConfiguratorServiceGetVertexConfigResponse
 */
export type ConfiguratorServiceGetVertexConfigResponse = Message<"mochabugapis.adapt.runtime.v1.ConfiguratorServiceGetVertexConfigResponse"> & {
    /**
     * The vertex config
     *
     * @generated from field: bytes config = 1;
     */
    config: Uint8Array;
    /**
     * The metadata of the config
     *
     * @generated from field: mochabugapis.adapt.graph.VertexMetadata metadata = 2;
     */
    metadata?: VertexMetadata;
    /**
     * The services that are actually configured on this vertex
     * For nested services you query with a dot notation path
     * Services that are not configured will not appear in this map
     * For example, oneOf service with the selection option will appear as: "oneof_service.selected_option"
     * Any grouped services will appear as normal, i.e. "grouped_service.nested_service"
     * If the service is not configured (i.e. optional) it will not appear in this map
     *
     * @generated from field: map<string, bool> configured_services = 3;
     */
    configuredServices: {
        [key: string]: boolean;
    };
};
/**
 * The get vertex response
 *
 * @generated from message mochabugapis.adapt.runtime.v1.ConfiguratorServiceGetVertexConfigResponse
 */
export type ConfiguratorServiceGetVertexConfigResponseJson = {
    /**
     * The vertex config
     *
     * @generated from field: bytes config = 1;
     */
    config?: string;
    /**
     * The metadata of the config
     *
     * @generated from field: mochabugapis.adapt.graph.VertexMetadata metadata = 2;
     */
    metadata?: VertexMetadataJson;
    /**
     * The services that are actually configured on this vertex
     * For nested services you query with a dot notation path
     * Services that are not configured will not appear in this map
     * For example, oneOf service with the selection option will appear as: "oneof_service.selected_option"
     * Any grouped services will appear as normal, i.e. "grouped_service.nested_service"
     * If the service is not configured (i.e. optional) it will not appear in this map
     *
     * @generated from field: map<string, bool> configured_services = 3;
     */
    configuredServices?: {
        [key: string]: boolean;
    };
};
/**
 * Describes the message mochabugapis.adapt.runtime.v1.ConfiguratorServiceGetVertexConfigResponse.
 * Use `create(ConfiguratorServiceGetVertexConfigResponseSchema)` to create a new message.
 */
export declare const ConfiguratorServiceGetVertexConfigResponseSchema: GenMessage<ConfiguratorServiceGetVertexConfigResponse, {
    jsonType: ConfiguratorServiceGetVertexConfigResponseJson;
}>;
/**
 * The post vertex request
 *
 * This request updates the vertex configuration and/or metadata.
 * At least one of config or metadata must be provided in the request.
 *
 * @generated from message mochabugapis.adapt.runtime.v1.PostVertexConfigRequest
 */
export type PostVertexConfigRequest = Message<"mochabugapis.adapt.runtime.v1.PostVertexConfigRequest"> & {
    /**
     * The vertex config
     * - Set to empty bytes to clear the config
     * - Omit (nil) to keep existing config unchanged
     * - Set to non-empty bytes to update the config
     *
     * @generated from field: optional bytes config = 1;
     */
    config?: Uint8Array;
    /**
     * The metadata of the config
     * - Cannot be cleared (setting to nil will be ignored)
     * - Omit (nil) to keep existing metadata unchanged
     * - Set to update the metadata
     *
     * @generated from field: optional mochabugapis.adapt.graph.VertexMetadata metadata = 2;
     */
    metadata?: VertexMetadata;
    /**
     * You can override bindings directly in the request by setting this flag
     *
     * @generated from field: optional bool override_bindings = 3;
     */
    overrideBindings?: boolean;
};
/**
 * The post vertex request
 *
 * This request updates the vertex configuration and/or metadata.
 * At least one of config or metadata must be provided in the request.
 *
 * @generated from message mochabugapis.adapt.runtime.v1.PostVertexConfigRequest
 */
export type PostVertexConfigRequestJson = {
    /**
     * The vertex config
     * - Set to empty bytes to clear the config
     * - Omit (nil) to keep existing config unchanged
     * - Set to non-empty bytes to update the config
     *
     * @generated from field: optional bytes config = 1;
     */
    config?: string;
    /**
     * The metadata of the config
     * - Cannot be cleared (setting to nil will be ignored)
     * - Omit (nil) to keep existing metadata unchanged
     * - Set to update the metadata
     *
     * @generated from field: optional mochabugapis.adapt.graph.VertexMetadata metadata = 2;
     */
    metadata?: VertexMetadataJson;
    /**
     * You can override bindings directly in the request by setting this flag
     *
     * @generated from field: optional bool override_bindings = 3;
     */
    overrideBindings?: boolean;
};
/**
 * Describes the message mochabugapis.adapt.runtime.v1.PostVertexConfigRequest.
 * Use `create(PostVertexConfigRequestSchema)` to create a new message.
 */
export declare const PostVertexConfigRequestSchema: GenMessage<PostVertexConfigRequest, {
    jsonType: PostVertexConfigRequestJson;
}>;
/**
 * The post vertex response
 *
 * @generated from message mochabugapis.adapt.runtime.v1.PostVertexConfigResponse
 */
export type PostVertexConfigResponse = Message<"mochabugapis.adapt.runtime.v1.PostVertexConfigResponse"> & {
    /**
     * The metadata for the config. This is relevant if you wish to study error codes after setting bindings for example
     *
     * @generated from field: mochabugapis.adapt.graph.VertexMetadata metadata = 1;
     */
    metadata?: VertexMetadata;
};
/**
 * The post vertex response
 *
 * @generated from message mochabugapis.adapt.runtime.v1.PostVertexConfigResponse
 */
export type PostVertexConfigResponseJson = {
    /**
     * The metadata for the config. This is relevant if you wish to study error codes after setting bindings for example
     *
     * @generated from field: mochabugapis.adapt.graph.VertexMetadata metadata = 1;
     */
    metadata?: VertexMetadataJson;
};
/**
 * Describes the message mochabugapis.adapt.runtime.v1.PostVertexConfigResponse.
 * Use `create(PostVertexConfigResponseSchema)` to create a new message.
 */
export declare const PostVertexConfigResponseSchema: GenMessage<PostVertexConfigResponse, {
    jsonType: PostVertexConfigResponseJson;
}>;
/**
 * The different vertex types that can be incoming
 * The type of vertex to add
 *
 * @generated from enum mochabugapis.adapt.runtime.v1.VertexType
 */
export declare enum VertexType {
    /**
     * Not specified
     *
     * @generated from enum value: VERTEX_TYPE_UNSPECIFIED = 0;
     */
    UNSPECIFIED = 0,
    /**
     * The start vertex
     *
     * @generated from enum value: VERTEX_TYPE_START = 1;
     */
    START = 1,
    /**
     * The plugin vertex
     *
     * @generated from enum value: VERTEX_TYPE_PLUGIN = 2;
     */
    PLUGIN = 2,
    /**
     * The output vertex
     *
     * @generated from enum value: VERTEX_TYPE_OUTPUT = 3;
     */
    OUTPUT = 3,
    /**
     * The delegate vertex
     *
     * @generated from enum value: VERTEX_TYPE_DELEGATE = 4;
     */
    DELEGATE = 4,
    /**
     * The barrier vertex
     *
     * @generated from enum value: VERTEX_TYPE_BARRIER = 5;
     */
    BARRIER = 5,
    /**
     * The exchange output vertex
     *
     * @generated from enum value: VERTEX_TYPE_EXCHANGE_OUT = 6;
     */
    EXCHANGE_OUT = 6
}
/**
 * The different vertex types that can be incoming
 * The type of vertex to add
 *
 * @generated from enum mochabugapis.adapt.runtime.v1.VertexType
 */
export type VertexTypeJson = "VERTEX_TYPE_UNSPECIFIED" | "VERTEX_TYPE_START" | "VERTEX_TYPE_PLUGIN" | "VERTEX_TYPE_OUTPUT" | "VERTEX_TYPE_DELEGATE" | "VERTEX_TYPE_BARRIER" | "VERTEX_TYPE_EXCHANGE_OUT";
/**
 * Describes the enum mochabugapis.adapt.runtime.v1.VertexType.
 */
export declare const VertexTypeSchema: GenEnum<VertexType, VertexTypeJson>;
/**
 * Configurator service is containing the complete API available to a
 * configurator of a vertex. Every call on this service will require an
 * Authoriation header
 * It's important to note that the Get / Post vertex config relates to reading the actual graph
 * and requires the runtimeapi/configurator scope. Whereas the batch store operations can be scoped to the plugin subject
 *
 * @generated from service mochabugapis.adapt.runtime.v1.ConfiguratorService
 */
export declare const ConfiguratorService: GenService<{
    /**
     * Get the vertex config
     * Valid scopes: runtimeapi/configurator, runtimeapi/configurator.vertexconfig, runtimeapi/configurator.vertexconfig:read
     *
     * @generated from rpc mochabugapis.adapt.runtime.v1.ConfiguratorService.GetVertexConfig
     */
    getVertexConfig: {
        methodKind: "unary";
        input: typeof ConfiguratorServiceGetVertexConfigRequestSchema;
        output: typeof ConfiguratorServiceGetVertexConfigResponseSchema;
    };
    /**
     * Replace the vertex config
     * Valid scopes: runtimeapi/configurator, runtimeapi/configurator.vertexconfig
     *
     * @generated from rpc mochabugapis.adapt.runtime.v1.ConfiguratorService.PostVertexConfig
     */
    postVertexConfig: {
        methodKind: "unary";
        input: typeof PostVertexConfigRequestSchema;
        output: typeof PostVertexConfigResponseSchema;
    };
    /**
     * The single write operations support a larger set of operations than batch operations such
     * as conditional writes.
     * Valid scopes here are: runtimeapi/plugin runtimeapi/plugin.store.plugin runtimeapi/plugin.store.vertex
     *
     * @generated from rpc mochabugapis.adapt.runtime.v1.ConfiguratorService.WriteStore
     */
    writeStore: {
        methodKind: "unary";
        input: typeof ConfiguratorServiceWriteStoreRequestSchema;
        output: typeof ConfiguratorServiceWriteStoreResponseSchema;
    };
    /**
     * Batch write operations on the vertex session store
     * The scopes depends on the namespace and operation
     * The write operations are all-or-nothing. Either all of them are committed or none are
     * Valid scopes here are: runtimeapi/plugin runtimeapi/plugin.store.plugin runtimeapi/plugin.store.vertex
     *
     * @generated from rpc mochabugapis.adapt.runtime.v1.ConfiguratorService.BatchWriteStore
     */
    batchWriteStore: {
        methodKind: "unary";
        input: typeof ConfiguratorServiceBatchWriteStoreRequestSchema;
        output: typeof ConfiguratorServiceBatchWriteStoreResponseSchema;
    };
    /**
     * Batch read operations on the vertex session store
     * The scopes depends on the namespace and operation
     * Valid scopes here are "runtimeapi/plugin", "runtimeapi/plugin.store.plugin", "runtimeapi/plugin.store.plugin:read"
     * "runtimeapi/plugin.store.vertex", "runtimeapi/plugin.store.vertex:read"
     *
     * @generated from rpc mochabugapis.adapt.runtime.v1.ConfiguratorService.BatchReadStore
     */
    batchReadStore: {
        methodKind: "unary";
        input: typeof ConfiguratorServiceBatchReadStoreRequestSchema;
        output: typeof ConfiguratorServiceBatchReadStoreResponseSchema;
    };
    /**
     * Select operations for range queries on the vertex session store
     * The scopes depends on the namespace and operation
     * Valid scopes here are "runtimeapi/plugin", "runtimeapi/plugin.store.plugin", "runtimeapi/plugin.store.plugin:read"
     * "runtimeapi/plugin.store.vertex", "runtimeapi/plugin.store.vertex:read"
     *
     * @generated from rpc mochabugapis.adapt.runtime.v1.ConfiguratorService.SelectStore
     */
    selectStore: {
        methodKind: "unary";
        input: typeof ConfiguratorServiceSelectStoreRequestSchema;
        output: typeof ConfiguratorServiceSelectStoreResponseSchema;
    };
    /**
     * This endpoint enables the configurator to get information about incoming signals
     * Valid scopes: runtimeapi/configurator, runtimeapi/configurator.receiversignals:read
     *
     * @generated from rpc mochabugapis.adapt.runtime.v1.ConfiguratorService.ListIncomingSignals
     */
    listIncomingSignals: {
        methodKind: "unary";
        input: typeof ListIncomingSignalsRequestSchema;
        output: typeof ListIncomingSignalsResponseSchema;
    };
}>;
//# sourceMappingURL=configurator_service_pb.d.ts.map