import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
import type { Value, ValueJson } from "@bufbuild/protobuf/wkt";
import type { SignalDescriptor, SignalDescriptorJson } from "./signal_descriptor_pb";
import type { Message } from "@bufbuild/protobuf";
/**
 * Describes the file mochabugapis/adapt/graph/signal_binding.proto.
 */
export declare const file_mochabugapis_adapt_graph_signal_binding: GenFile;
/**
 * Receiver represents an input point for a vertex, which can bind
 * to multiple signals.
 *
 * @generated from message mochabugapis.adapt.graph.SignalBinding
 */
export type SignalBinding = Message<"mochabugapis.adapt.graph.SignalBinding"> & {
    /**
     * The actual signal descriptor.
     *
     * @generated from field: mochabugapis.adapt.graph.SignalDescriptor descriptor = 1;
     */
    descriptor?: SignalDescriptor;
    /**
     * The binding can be a reference to another signal or a constant value.
     * not required to be set if the descriptor is optional
     *
     * @generated from oneof mochabugapis.adapt.graph.SignalBinding.binding
     */
    binding: {
        /**
         * A reference to another signal <vertexid>:<transmitter>:<signal>
         *
         * @generated from field: string reference = 2;
         */
        value: string;
        case: "reference";
    } | {
        /**
         * A constant value (must validate against the descriptor)
         *
         * @generated from field: google.protobuf.Value constant = 3;
         */
        value: Value;
        case: "constant";
    } | {
        case: undefined;
        value?: undefined;
    };
    /**
     * The binding may also have one of the 3 error codes
     *
     * @generated from field: optional mochabugapis.adapt.graph.SignalBinding.Error error = 4;
     */
    error?: SignalBinding_Error;
};
/**
 * Receiver represents an input point for a vertex, which can bind
 * to multiple signals.
 *
 * @generated from message mochabugapis.adapt.graph.SignalBinding
 */
export type SignalBindingJson = {
    /**
     * The actual signal descriptor.
     *
     * @generated from field: mochabugapis.adapt.graph.SignalDescriptor descriptor = 1;
     */
    descriptor?: SignalDescriptorJson;
    /**
     * A reference to another signal <vertexid>:<transmitter>:<signal>
     *
     * @generated from field: string reference = 2;
     */
    reference?: string;
    /**
     * A constant value (must validate against the descriptor)
     *
     * @generated from field: google.protobuf.Value constant = 3;
     */
    constant?: ValueJson;
    /**
     * The binding may also have one of the 3 error codes
     *
     * @generated from field: optional mochabugapis.adapt.graph.SignalBinding.Error error = 4;
     */
    error?: SignalBinding_ErrorJson;
};
/**
 * Describes the message mochabugapis.adapt.graph.SignalBinding.
 * Use `create(SignalBindingSchema)` to create a new message.
 */
export declare const SignalBindingSchema: GenMessage<SignalBinding, {
    jsonType: SignalBindingJson;
}>;
/**
 * Some error codes that can appear on the binding
 *
 * @generated from enum mochabugapis.adapt.graph.SignalBinding.Error
 */
export declare enum SignalBinding_Error {
    /**
     * Not specified
     *
     * @generated from enum value: ERROR_UNSPECIFIED = 0;
     */
    UNSPECIFIED = 0,
    /**
     * Binding is missing, the signal is unbound even though the descriptor requires it to be bound
     *
     * @generated from enum value: ERROR_UNBOUND = 1;
     */
    UNBOUND = 1,
    /**
     * The source does not exist
     *
     * @generated from enum value: ERROR_INVALID_SOURCE = 2;
     */
    INVALID_SOURCE = 2,
    /**
     * The schema does not match, the source is valid
     *
     * @generated from enum value: ERROR_SCHEMA_MISMATCH = 3;
     */
    SCHEMA_MISMATCH = 3
}
/**
 * Some error codes that can appear on the binding
 *
 * @generated from enum mochabugapis.adapt.graph.SignalBinding.Error
 */
export type SignalBinding_ErrorJson = "ERROR_UNSPECIFIED" | "ERROR_UNBOUND" | "ERROR_INVALID_SOURCE" | "ERROR_SCHEMA_MISMATCH";
/**
 * Describes the enum mochabugapis.adapt.graph.SignalBinding.Error.
 */
export declare const SignalBinding_ErrorSchema: GenEnum<SignalBinding_Error, SignalBinding_ErrorJson>;
//# sourceMappingURL=signal_binding_pb.d.ts.map