// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
// versions:
//   protoc-gen-ts_proto  v1.181.1
//   protoc               v3.12.4
// source: policy/ResProcessing/ResponseProcessing.proto

/* eslint-disable */
import { type Metadata } from "../../common/Metadata.js";
import { type Namespaces } from "../common/Namespaces.js";
import { type Set } from "../common/Set.js";
import { type SetPayload } from "../common/SetPayload.js";

/** The Response Processing related information is captured in the message RequestProcessing */
export interface ResponseProcessing {
  kind?: string | undefined;
  apiVersion?:
    | string
    | undefined;
  /** common metadata to identify a specific asset in the files */
  metadata?: Metadata | undefined;
  kindEnum?: ResponseProcessing_KindEnums | undefined;
  spec?: ResponseProcessing_Spec | undefined;
}

/** Kind id supported for response processing */
export enum ResponseProcessing_KindEnums {
  TransformResponse = "TransformResponse",
}

export interface ResponseProcessing_SetStatus {
  code?: string | undefined;
  message?: string | undefined;
}

/** The message specified the information related to the transformation */
export interface ResponseProcessing_Transformations {
  set?: Set[] | undefined;
  setStatus?: ResponseProcessing_SetStatus | undefined;
  setPayload?: SetPayload | undefined;
  remove?: string[] | undefined;
  namespaces?: Namespaces[] | undefined;
}

/** The Spec is used to define the list of condition and transformation */
export interface ResponseProcessing_Spec {
  /** Single instance of condition can be given */
  condition?:
    | string
    | undefined;
  /** Single instance of transformation can be given */
  transformations?: ResponseProcessing_Transformations | undefined;
}
