import { type Any } from "google-protobuf/google/protobuf/any_pb.js";
import { type Metadata } from "../../common/Metadata.js";
import { type Ref } from "../../common/Ref.js";
import { type Namespaces } from "../common/Namespaces.js";
import { type RequestProcess } from "../common/RequestProcess.js";
import { type Set } from "../common/Set.js";
/** Copyright Super iPaaS Integration LLC, an IBM Company 2024 */
/** The Messaging Extension related information is captured in the message MessagingExtension. */
export interface MessagingExtension {
    kind?: string | undefined;
    apiVersion?: string | undefined;
    /** common metadata to identify a specific asset in the files */
    metadata?: Metadata | undefined;
    kindEnums?: MessagingExtension_KindEnums | undefined;
    spec?: MessagingExtension_Spec | undefined;
}
/** Kind id supported for Message Extension */
export declare enum MessagingExtension_KindEnums {
    InvokeMessagingExtension = "InvokeMessagingExtension"
}
/** The message specified the information related to the destination */
export interface MessagingExtension_Destination {
    name?: string | undefined;
    type?: string | undefined;
}
/** The message specified the information related to the reply to */
export interface MessagingExtension_ReplyTo {
    name?: string | undefined;
    type?: string | undefined;
}
/** The message specified the information related to the response processing */
export interface MessagingExtension_ResponseProcess {
    transformations?: Any | undefined;
    set?: Set[] | undefined;
    "copy-entire-response"?: boolean | undefined;
    "abort-API-execution-for-failure"?: string | undefined;
}
/** The Spec is used to define the list of condition, message configuration, request-processing, response-processing, namespace */
export interface MessagingExtension_Spec {
    /** Single instance of conidition can be given */
    condition?: string | undefined;
    /**
     * Field 'messaging_config' with JSON name 'messaging-config' accepts the value of either 'messaging_config' or 'messaging-config' from the YAML file.
     * If both 'messaging_config' and 'messaging-config' are specified, the value of 'messaging-config' takes priority.
     * Single instances of message configuration can be given with JSON name "messaging-config".
     */
    messageConfig?: Ref | undefined;
    /**
     * Field 'request_processing' with JSON name 'request-processing' accepts the value of either 'request_processing' or 'request-processing' from the YAML file.
     * If both 'request_processing' and 'request-processing' are specified, the value of 'request-processing' takes priority.
     * Single instances of request processing can be given with JSON name "request-processing".
     */
    "request-processing"?: RequestProcess | undefined;
    /**
     * Field 'response_processing' with JSON name 'response-processing' accepts the value of either 'response_processing' or 'response-processing' from the YAML file.
     * If both 'response_processing' and 'response-processing' are specified, the value of 'response-processing' takes priority.
     * Single instances of response processing can be given with JSON name "response-processing".
     */
    "response-processing"?: MessagingExtension_ResponseProcess | undefined;
    namespaces?: Namespaces[] | undefined;
}
//# sourceMappingURL=MessagingExtension.d.ts.map