/**
 * This file was auto-generated by openapi-typescript.
 * Do not make direct changes to the file.
 */
export type paths = Record<string, never>;
export type webhooks = Record<string, never>;
export interface components {
    schemas: {
        AWSLambda: {
            /** @enum {string} */
            kind: "InvokeAWSLambda";
            /** @default api.ibm.com/v1 */
            apiVersion: string;
            /** @description Defines a message named Metadata */
            metadata: {
                description?: string;
                name: string;
                namespace?: string;
                tags?: string[];
                /** @enum {string} */
                type?: "REST" | "SWAGGER" | "SOAP" | "GRAPHQL" | "ODATA";
                version: string;
                labels?: {
                    gatewayTypes?: string[];
                } & {
                    [key: string]: unknown;
                };
            };
            spec: {
                /** @description Name of the AWS Lambda function */
                functionName?: string;
                /** @description Version of the AWS Lambda function */
                qualifier?: string;
                /** @enum {string} */
                invocationType?: "requestResponse" | "event";
                region?: string;
                awsAuthType?: {
                    accessSecret: string;
                };
                tlsConnectionProfile?: string;
                input?: string;
                output?: string;
                clientConfig?: {
                    socketTimeout?: number;
                    connectionTimeout?: number;
                    requestTimeout?: number;
                    clientExecutionTimeout?: number;
                    clientRetryCount?: number;
                    connectionExpirationTimeout?: number;
                    enableExpectContinue?: boolean;
                    enableGzip?: boolean;
                    enableHostPrefixInjection?: boolean;
                    maxConnectionIdleTime?: number;
                    responseMetadataCacheSize?: number;
                    enableThrottledRetries?: boolean;
                    enableKeepAlive?: boolean;
                    enableResponseMetadataCache?: boolean;
                    signatureAlgorithm?: string;
                    tcpSendBufferSizeHint?: number;
                    tcpReceiveBufferSizeHint?: number;
                };
                extensions?: {
                    "webm-gateway"?: {
                        /** @default wm_1.0.0 */
                        apiVersion: string;
                        spec?: {
                            condition?: string;
                            lambdaConfig?: {
                                alias?: string;
                            };
                            clientConfig?: {
                                retryOnErrorCount?: number;
                            };
                            /** @description Field 'request_processing' with JSON name 'request-processing' accepts the value of either 'request_processing' or 'request-processing' from the YAML file. If both are specified, 'request-processing' takes priority.
                             *      */
                            request_processing?: {
                                /** @description Single instance of transformation can be given */
                                transformations: {
                                    set?: {
                                        key?: string;
                                        value?: string;
                                    }[];
                                    remove?: string[];
                                    setPayload?: {
                                        "content-types"?: {
                                            [key: string]: string;
                                        }[];
                                        defaultContentType?: string;
                                        xsl?: {
                                            $path?: string;
                                            content?: string;
                                            feature?: {
                                                name?: string;
                                                value?: string;
                                            }[];
                                        }[];
                                    };
                                };
                                useIncomingHeaders?: boolean;
                            };
                            /** @description Field 'response_processing' with JSON name 'response-processing' accepts the value of either 'response_processing' or 'response-processing' from the YAML file. If both are specified, 'response-processing' takes priority.
                             *      */
                            response_processing?: {
                                transformations: {
                                    abortAPIExecutionForFailure?: boolean;
                                    copyEntireResponse?: boolean;
                                    set?: {
                                        key?: string;
                                        value?: string;
                                    }[];
                                };
                            };
                            namespaces?: {
                                URI?: string;
                                prefix?: string;
                            }[];
                        };
                    };
                };
            };
        };
        /** @description The validate API Specification related information is captured in the message validateAPISpecification.
         *      */
        ValidateAPISpecification: {
            /** @enum {string} */
            kind: "ValidateAPISpecification";
            /** @default api.ibm.com/v1 */
            apiVersion: string;
            /** @description Defines a message named Metadata */
            metadata: {
                description?: string;
                name: string;
                namespace?: string;
                tags?: string[];
                /** @enum {string} */
                type?: "REST" | "SWAGGER" | "SOAP" | "GRAPHQL" | "ODATA";
                version: string;
                labels?: {
                    gatewayTypes?: string[];
                } & {
                    [key: string]: unknown;
                };
            };
            spec: {
                /** @enum {string} */
                input: "request" | "response" | "message";
                validate: {
                    request: {
                        schema?: {
                            validate?: boolean;
                        };
                        query?: boolean;
                        path?: boolean;
                        header?: boolean;
                        cookie?: boolean;
                        contentType?: boolean;
                    };
                } | {
                    response: {
                        schema?: {
                            validate?: boolean;
                        };
                        header?: boolean;
                        contentType?: boolean;
                    };
                } | {
                    openApiSchemaRef: {
                        schemaReference: string;
                        /** @enum {string} */
                        failureStatusCode: "400" | "500";
                    };
                } | {
                    file: {
                        $path: string;
                        /** @enum {string} */
                        failureStatusCode: "400" | "500";
                    };
                };
                extensions?: {
                    "webm-gateway"?: {
                        apiVersion: string;
                        spec: {
                            validate?: {
                                "custom-headers"?: {
                                    condition?: string;
                                };
                                schema?: {
                                    feature?: {
                                        name: string;
                                        value: boolean;
                                    }[];
                                };
                            };
                        };
                    };
                };
            };
        };
        LoadBalancer: {
            /** @enum {string} */
            kind: "LoadBalancer";
            /** @default api.ibm.com/v1 */
            apiVersion: string;
            /** @description Defines a message named Metadata */
            metadata: {
                description?: string;
                name: string;
                namespace?: string;
                tags?: string[];
                /** @enum {string} */
                type?: "REST" | "SWAGGER" | "SOAP" | "GRAPHQL" | "ODATA";
                version: string;
                labels?: {
                    gatewayTypes?: string[];
                } & {
                    [key: string]: unknown;
                };
            };
            spec: {
                input?: string;
                output?: string;
                weightedRandomHttp?: {
                    verb?: string;
                    statusException?: {
                        pattern?: string;
                    }[];
                    endpoints?: {
                        endpoint: {
                            name?: string;
                            tlsClientProfile?: string;
                            url?: string;
                            /** @enum {string} */
                            urlType?: "plain" | "variables" | "jsonata" | "distributedVariable";
                            /** @enum {string} */
                            version?: "HTTP/1.0" | "HTTP/1.1" | "HTTP/2";
                            timeout?: number;
                            /** @enum {string} */
                            compressRequest?: "gzip" | "br" | "deflate" | "none";
                            decompressResponse?: boolean;
                            followRedirects?: boolean;
                            chunkedUpload?: boolean;
                            persistentConnections?: boolean;
                        };
                        suspendTimeout?: number;
                        weight?: number;
                    }[];
                };
                roundRobinHttp?: {
                    verb?: string;
                    statusException?: {
                        pattern: string;
                    }[];
                    endpoints?: {
                        suspendTimeout?: number;
                        endpoint: {
                            name?: string;
                            tlsClientProfile?: string;
                            url?: string;
                            /** @enum {string} */
                            urlType?: "plain" | "variables" | "jsonata" | "distributedVariable";
                            /** @enum {string} */
                            compressRequest?: "br" | "gzip" | "deflate" | "none";
                            /** @enum {string} */
                            version?: "HTTP/1.0" | "HTTP/1.1" | "HTTP/2";
                            timeout?: number;
                            /** @default false */
                            decompressResponse: boolean;
                            /** @default false */
                            followRedirects: boolean;
                            chunkedUpload?: boolean;
                            persistentConnections?: boolean;
                        };
                    }[];
                };
                extensions?: {
                    "webm-gateway"?: {
                        /** @default wm_1.0.0 */
                        apiVersion: string;
                        spec?: {
                            endpoints?: {
                                name?: string;
                                connectionTimeout?: number;
                                sslConfig?: {
                                    keyStoreAlias?: string;
                                    keyAlias?: string;
                                    trustStoreAlias?: string;
                                };
                                serviceRegistryParameters?: {
                                    name?: string;
                                    value?: string;
                                }[];
                            }[];
                        };
                    };
                };
            } & (unknown | unknown);
        };
        Invoke: {
            /** @enum {string} */
            kind: "Invoke";
            /** @default api.ibm.com/v1 */
            apiVersion: string;
            /** @description Defines a message named Metadata */
            metadata: {
                description?: string;
                name: string;
                namespace?: string;
                tags?: string[];
                /** @enum {string} */
                type?: "REST" | "SWAGGER" | "SOAP" | "GRAPHQL" | "ODATA";
                version: string;
                labels?: {
                    gatewayTypes?: string[];
                } & {
                    [key: string]: unknown;
                };
            };
            spec: {
                cache?: {
                    expire?: {
                        fromMessageHeader: {
                            headerName: string;
                            messageName: string;
                        };
                    } | {
                        fromVariable: {
                            name: string;
                        };
                    } | {
                        fromCacheControl: {
                            messageName: string;
                        };
                    } | {
                        static: {
                            /** Format: uint64 */
                            seconds: number;
                        };
                    };
                    scope?: {
                        narrowScope: Record<string, never>;
                    } | {
                        wideScope: Record<string, never>;
                    };
                };
                endpoint: {
                    http: {
                        statusException?: {
                            pattern: string;
                        }[];
                        target: {
                            /** @default true */
                            persistentConnections: boolean;
                            /**
                             * Format: uint64
                             * @default 20
                             */
                            timeout: number;
                            tlsClientProfile?: string;
                            url: string;
                            /** @default false */
                            decompressResponse: boolean;
                            /** @default false */
                            followRedirects: boolean;
                            /** @default false */
                            chunkedUpload: boolean;
                            /** @enum {string} */
                            urlType?: "plain" | "variables" | "jsonata" | "distributedVariable";
                            /** @enum {string} */
                            compressRequest?: "br" | "gzip" | "deflate" | "none";
                            /** @enum {string} */
                            version?: "HTTP/1.0" | "HTTP/1.1" | "HTTP/2";
                        };
                        verb?: string;
                    };
                };
                input?: string;
                output?: string;
                extensions?: {
                    "webm-gateway"?: {
                        apiVersion?: string;
                        spec?: {
                            endpoint?: {
                                http?: {
                                    target?: {
                                        connectionTimeout?: number;
                                    };
                                    sslConfig?: {
                                        keyStoreAlias?: string;
                                        keyAlias?: string;
                                        trustStoreAlias?: string;
                                    };
                                    serviceRegistryParameters?: {
                                        name?: string;
                                        value?: string;
                                    }[];
                                };
                            };
                        };
                    };
                };
            };
        };
        IAM: {
            /** @enum {string} */
            kind: "IAM";
            /** @default api.ibm.com/v1 */
            apiVersion: string;
            /** @description Defines a message named Metadata */
            metadata: {
                description?: string;
                name: string;
                namespace?: string;
                tags?: string[];
                /** @enum {string} */
                type?: "REST" | "SWAGGER" | "SOAP" | "GRAPHQL" | "ODATA";
                version: string;
                labels?: {
                    gatewayTypes?: string[];
                } & {
                    [key: string]: unknown;
                };
            };
            spec: {
                accessControl?: ({
                    httpBasic?: {
                        applicationSecurity?: {
                            /** @enum {string} */
                            mode?: "authorize" | "identify" | "authenticate";
                        };
                        credentialLocation?: {
                            httpHeader?: {
                                name?: string;
                            };
                        };
                        credentialRegistry?: string[];
                        userGroupAuthorization?: {
                            requiredGroups?: string[];
                        };
                    };
                } | {
                    apiKey?: {
                        applicationSecurity?: {
                            /** @enum {string} */
                            mode?: "authorize" | "identify" | "authenticate";
                        };
                        credentialLocation?: {
                            httpHeader?: {
                                name?: string;
                            };
                        };
                    };
                } | {
                    oauth?: {
                        applicationSecurity?: {
                            /** @enum {string} */
                            mode?: "authorize" | "identify" | "authenticate";
                        };
                        credentialLocation?: {
                            httpHeader?: {
                                name?: string;
                            };
                        };
                        providers?: string[];
                        introspectionCredentials?: {
                            idHeader?: string;
                            secretheader?: string;
                        };
                        audClaim?: string[];
                        requiredScopes?: {
                            provider?: string;
                            scopes?: string[];
                        }[];
                    };
                } | {
                    jwt?: {
                        applicationSecurity?: {
                            /** @enum {string} */
                            mode?: "authorize" | "identify" | "authenticate";
                        };
                        credentialLocation?: {
                            httpHeader?: {
                                name?: string;
                            };
                        };
                        providers?: string[];
                        requiredClaims?: {
                            provider?: string;
                            claims?: {
                                name?: string;
                                value?: string;
                            }[];
                        }[];
                    };
                } | {
                    hostname?: {
                        applicationSecurity?: {
                            /** @enum {string} */
                            mode?: "authorize" | "identify" | "authenticate";
                        };
                    };
                } | {
                    ipAddress?: {
                        applicationSecurity?: {
                            /** @enum {string} */
                            mode?: "authorize" | "identify" | "authenticate";
                        };
                    };
                } | {
                    certificate?: {
                        applicationSecurity?: {
                            /** @enum {string} */
                            mode?: "authorize" | "identify" | "authenticate";
                        };
                        credentialLocation?: {
                            httpHeader?: {
                                name?: string;
                            };
                        };
                    };
                } | {
                    payloadElement?: {
                        name?: string;
                    };
                } | {
                    httpHeaders?: {
                        applicationSecurity?: {
                            /** @enum {string} */
                            mode?: "authorize" | "identify" | "authenticate";
                        };
                        credentialLocation?: string[];
                    };
                })[][];
                extensions?: {
                    "webm-gateway"?: {
                        /** @default wm_1.0.0 */
                        apiVersion: string;
                        spec?: {
                            /** @enum {string} */
                            authenticationMode?: "ANY" | "ALL";
                            allowAnonymous?: Record<string, never>;
                            triggerPolicyViolation?: boolean;
                            accessControl?: {
                                kerberos?: {
                                    applicationSecurity?: {
                                        /** @enum {string} */
                                        mode?: "authorize" | "identify" | "authenticate";
                                    };
                                    servicePrincipleName?: string;
                                    servicePrinciplePassword?: string;
                                };
                                openIdConnect?: {
                                    applicationSecurity?: {
                                        /** @enum {string} */
                                        mode?: "authorize" | "identify" | "authenticate";
                                    };
                                };
                                payloadElement?: {
                                    applicationSecurity?: {
                                        /** @enum {string} */
                                        mode?: "authorize" | "identify" | "authenticate";
                                    };
                                    payLoadIdentifier?: ({
                                        jPath: string;
                                    } | {
                                        xpath: string;
                                        namespaces?: {
                                            prefix?: string;
                                            URI?: string;
                                        }[];
                                    } | {
                                        regex: string;
                                    })[];
                                };
                            };
                        };
                    };
                };
            };
        };
        /** @description The Throttling Policy related information is captured in the message ThrottlingPolicy */
        RateLimit: {
            /** @enum {string} */
            kind: "RateLimit";
            /** @default api.ibm.com/v1 */
            apiVersion: string;
            metadata: {
                description?: string;
                name: string;
                namespace?: string;
                tags?: string[];
                /** @enum {string} */
                type?: "REST" | "SWAGGER" | "SOAP" | "GRAPHQL" | "ODATA";
                version: string;
                labels?: {
                    gatewayTypes?: string[];
                } & {
                    [key: string]: unknown;
                };
            };
            spec: {
                target?: string | {
                    specified: string[];
                };
                limits?: {
                    limitDef: {
                        name: string;
                        definition: {
                            $ref: string;
                        };
                        /** @enum {string} */
                        operation?: "update" | "consume" | "replenish" | "check";
                    };
                }[];
                extensions?: {
                    "webm-gateway"?: {
                        /** @default wm_1.0.0 */
                        apiVersion: string;
                        spec?: {
                            destination: (("api_gateway" | "dev_portals" | "snmp" | "jdbc" | "centraSite" | "elasticsearch" | "auditLog" | "apic") | {
                                email?: string[];
                            } | {
                                "log-file"?: {
                                    /** @enum {string} */
                                    level?: "info" | "debug" | "warn" | "error";
                                };
                            })[];
                        };
                    };
                };
            };
        };
        RateLimitDefinition: {
            /** @enum {string} */
            kind: "RateLimitDef";
            /** @default api.ibm.com/v1 */
            apiVersion: string;
            metadata: {
                description?: string;
                name: string;
                namespace?: string;
                tags?: string[];
                /** @enum {string} */
                type?: "REST" | "SWAGGER" | "SOAP" | "GRAPHQL" | "ODATA";
                version: string;
                labels?: {
                    gatewayTypes?: string[];
                } & {
                    [key: string]: unknown;
                };
            };
            spec: {
                consumerSpecific?: boolean;
                dynamicValue?: string;
                max?: number;
                intervalLen?: number;
                /** @enum {string} */
                intervalUnit?: "second" | "minute" | "hour" | "day" | "week" | "calendarweek" | "calendarmonth";
                extensions?: {
                    "webm-gateway"?: {
                        /** @default wm_1.0.0 */
                        apiVersion: string;
                        spec?: {
                            alertMessage?: string;
                            /** @enum {string} */
                            alertFrequency?: "once" | "always";
                        };
                    };
                };
            };
        };
        InboundBulkHead: {
            /** @enum {string} */
            kind: "InboundBulkHead";
            /** @default api.ibm.com/v1 */
            apiVersion: string;
            /** @description Defines a message named Metadata */
            metadata: {
                description?: string;
                name: string;
                namespace?: string;
                tags?: string[];
                /** @enum {string} */
                type?: "REST" | "SWAGGER" | "SOAP" | "GRAPHQL" | "ODATA";
                version: string;
                labels?: {
                    gatewayTypes?: string[];
                } & {
                    [key: string]: unknown;
                };
            };
            spec: {
                maxConcurrentCalls?: number;
                enableBulkheadForCallbacks?: {
                    maxConcurrentCallbacks?: number;
                };
                retryAfterResponseHeader?: {
                    retryAfterValue?: number;
                };
            };
        };
        SetMediaType: {
            /** @enum {string} */
            kind: "SetMediaType";
            /** @default api.ibm.com/v1 */
            apiVersion: string;
            /** @description Defines a message named Metadata */
            metadata: {
                description?: string;
                name: string;
                namespace?: string;
                tags?: string[];
                /** @enum {string} */
                type?: "REST" | "SWAGGER" | "SOAP" | "GRAPHQL" | "ODATA";
                version: string;
                labels?: {
                    gatewayTypes?: string[];
                } & {
                    [key: string]: unknown;
                };
            };
            spec: {
                defaultAcceptHeader?: string;
                defaultContentType?: string;
            };
        };
        InboundMessaging: {
            /** @enum {string} */
            kind: "InboundMessaging";
            /** @default api.ibm.com/v1 */
            apiVersion: string;
            /** @description Defines a message named Metadata */
            metadata: {
                description?: string;
                name: string;
                namespace?: string;
                tags?: string[];
                /** @enum {string} */
                type?: "REST" | "SWAGGER" | "SOAP" | "GRAPHQL" | "ODATA";
                version: string;
                labels?: {
                    gatewayTypes?: string[];
                } & {
                    [key: string]: unknown;
                };
            };
            spec: {
                alias?: string;
                source?: {
                    name?: string;
                    /** @enum {string} */
                    type?: "QUEUE" | "TOPIC";
                    selector?: string[];
                    resource?: string;
                    /** @enum {string} */
                    httpMethod?: "GET" | "POST" | "PUT" | "DELETE";
                    contentType?: string;
                }[];
            };
        };
        AuthorizeUser: {
            /** @enum {string} */
            kind: "AuthorizeUser";
            /** @default api.ibm.com/v1 */
            apiVersion: string;
            /** @description Defines a message named Metadata */
            metadata: {
                description?: string;
                name: string;
                namespace?: string;
                tags?: string[];
                /** @enum {string} */
                type?: "REST" | "SWAGGER" | "SOAP" | "GRAPHQL" | "ODATA";
                version: string;
                labels?: {
                    gatewayTypes?: string[];
                } & {
                    [key: string]: unknown;
                };
            };
            spec: {
                enabled?: boolean;
                users?: string[];
                groups?: string[];
                teams?: string[];
            };
        };
        SetContextVariable: {
            /** @enum {string} */
            kind: "SetContextVariable";
            /** @default api.ibm.com/v1 */
            apiVersion: string;
            /** @description Defines a message named Metadata */
            metadata: {
                description?: string;
                name: string;
                namespace?: string;
                tags?: string[];
                /** @enum {string} */
                type?: "REST" | "SWAGGER" | "SOAP" | "GRAPHQL" | "ODATA";
                version: string;
                labels?: {
                    gatewayTypes?: string[];
                } & {
                    [key: string]: unknown;
                };
            };
            spec: {
                /** @description Can be enabled or disabled */
                enabled?: boolean;
                condition?: string;
                namespaces?: {
                    URI?: string;
                    prefix?: string;
                }[];
                /** @description Multiple instances of variable can be given */
                variable?: {
                    name?: string;
                    value?: string;
                }[];
            };
        };
        /** @description The Context Variable related information is captured in the message WebMethodsISService.
         *      */
        WebMethodsISService: {
            /** @enum {string} */
            kind: "WebMethodsISService";
            /** @default api.ibm.com/v1 */
            apiVersion: string;
            /** @description Defines a message named Metadata */
            metadata: {
                description?: string;
                name: string;
                namespace?: string;
                tags?: string[];
                /** @enum {string} */
                type?: "REST" | "SWAGGER" | "SOAP" | "GRAPHQL" | "ODATA";
                version: string;
                labels?: {
                    gatewayTypes?: string[];
                } & {
                    [key: string]: unknown;
                };
            };
            spec: {
                enabled?: boolean;
                condition?: string;
                alias?: string;
                /** @description Multiple instances of Service can be given */
                services?: {
                    complyToISSpec?: boolean;
                    name?: string;
                    runAs?: string;
                }[];
            };
        };
        /** @description The Log Invocation related information is captured in the message LogInvocation
         *      */
        LogInvocation: {
            /** @enum {string} */
            kind: "Log";
            /** @default api.ibm.com/v1 */
            apiVersion: string;
            /** @description Defines a message named Metadata */
            metadata: {
                description?: string;
                name: string;
                namespace?: string;
                tags?: string[];
                /** @enum {string} */
                type?: "REST" | "SWAGGER" | "SOAP" | "GRAPHQL" | "ODATA";
                version: string;
                labels?: {
                    gatewayTypes?: string[];
                } & {
                    [key: string]: unknown;
                };
            };
            spec: {
                enabled?: boolean;
                /** @default false */
                logRequestHeaders: boolean;
                /** @default false */
                logResponseHeaders: boolean;
                /** @default false */
                logRequestPayload: boolean;
                /** @default false */
                logResponsePayload: boolean;
                /** @default false */
                compressPayloads: boolean;
                /** @enum {string} */
                logGenerationFrequency?: "always" | "onfailure" | "onsuccess";
                destination?: (("api_gateway" | "dev_portals" | "snmp" | "jdbc" | "centraSite" | "elasticsearch" | "auditLog" | "apic") | {
                    email?: string[];
                } | {
                    "log-file"?: {
                        /** @enum {string} */
                        level?: "info" | "debug" | "warn" | "error";
                    };
                })[];
            };
        };
        MonitorTraffic: {
            /** @enum {string} */
            kind: "MonitorTraffic";
            /** @default api.ibm.com/v1 */
            apiVersion: string;
            /** @description Defines a message named Metadata */
            metadata: {
                description?: string;
                name: string;
                namespace?: string;
                tags?: string[];
                /** @enum {string} */
                type?: "REST" | "SWAGGER" | "SOAP" | "GRAPHQL" | "ODATA";
                version: string;
                labels?: {
                    gatewayTypes?: string[];
                } & {
                    [key: string]: unknown;
                };
            };
            spec: {
                enabled?: boolean;
                /** @description Single instance of condition can be given */
                condition?: string;
                /** @description Multiple instance of application can be given */
                applications?: string[];
                /** @description Field 'alert_configuration' with JSON name 'alert-configuration' accepts the value of either 'alert_configuration' or 'alert-configuration' from the YAML file. If both are specified, 'alert-configuration' takes priority. Multiple instances of alert configuration can be given with JSON name "alert-configuration".
                 *      */
                "alert-configuration"?: {
                    /** @enum {string} */
                    frequency?: "always" | "once";
                    interval?: string;
                    message?: string;
                };
                "notify-on-breach"?: (("api_gateway" | "dev_portals" | "snmp" | "jdbc" | "centraSite" | "elasticsearch" | "auditLog" | "apic") | {
                    email?: string[];
                } | {
                    "log-file"?: {
                        /** @enum {string} */
                        level?: "info" | "debug" | "warn" | "error";
                    };
                })[];
            };
        };
        /** @description The HTTP Invoke related information is captured in the message HTTPInvoke
         *      */
        HTTPInvoke: {
            /** @enum {string} */
            kind: "HTTPInvoke";
            /** @default api.ibm.com/v1 */
            apiVersion: string;
            metadata: {
                description?: string;
                name: string;
                namespace?: string;
                tags?: string[];
                /** @enum {string} */
                type?: "REST" | "SWAGGER" | "SOAP" | "GRAPHQL" | "ODATA";
                version: string;
                labels?: {
                    gatewayTypes?: string[];
                } & {
                    [key: string]: unknown;
                };
            };
            spec: {
                /** @description Can be enabled or disabled */
                enabled?: boolean;
                condition?: string;
                endpoint?: {
                    $ref: string;
                };
                namespaces?: {
                    URI?: string;
                    prefix?: string;
                }[];
                /** @description 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?: {
                    /** @description Single instance of transformation can be given */
                    transformations: {
                        set?: {
                            key?: string;
                            value?: string;
                        }[];
                        remove?: string[];
                        setPayload?: {
                            "content-types"?: {
                                [key: string]: string;
                            }[];
                            defaultContentType?: string;
                            xsl?: {
                                $path?: string;
                                content?: string;
                                feature?: {
                                    name?: string;
                                    value?: string;
                                }[];
                            }[];
                        };
                    };
                    useIncomingHeaders?: boolean;
                };
                /** @description 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?: {
                    transformations: {
                        abortAPIExecutionForFailure?: boolean;
                        copyEntireResponse?: boolean;
                        set?: {
                            key?: string;
                            value?: string;
                        }[];
                    };
                };
            };
        };
        /** @description The Messaging Extension related information is captured in the message MessagingExtension.
         *      */
        InvokeMessagingExtension: {
            /** @enum {string} */
            kind: "InvokeMessagingExtension";
            /** @default api.ibm.com/v1 */
            apiVersion: string;
            metadata: {
                description?: string;
                name: string;
                namespace?: string;
                tags?: string[];
                /** @enum {string} */
                type?: "REST" | "SWAGGER" | "SOAP" | "GRAPHQL" | "ODATA";
                version: string;
                labels?: {
                    gatewayTypes?: string[];
                } & {
                    [key: string]: unknown;
                };
            };
            spec: {
                /** @description Can be enabled or disabled */
                enabled?: boolean;
                /** @description Single instance of conidition can be given */
                condition?: string;
                messageConfig?: {
                    $ref: string;
                };
                namespaces?: {
                    URI?: string;
                    prefix?: string;
                }[];
                request_processing?: {
                    /** @description Single instance of transformation can be given */
                    transformations: {
                        set?: {
                            key?: string;
                            value?: string;
                        }[];
                        remove?: string[];
                        setPayload?: {
                            "content-types"?: {
                                [key: string]: string;
                            }[];
                            defaultContentType?: string;
                            xsl?: {
                                $path?: string;
                                content?: string;
                                feature?: {
                                    name?: string;
                                    value?: string;
                                }[];
                            }[];
                        };
                    };
                    useIncomingHeaders?: boolean;
                };
                response_processing?: {
                    transformations: {
                        abortAPIExecutionForFailure?: boolean;
                        copyEntireResponse?: boolean;
                        set?: {
                            key?: string;
                            value?: string;
                        }[];
                    };
                };
            };
        };
        /** @description The Request Processing related information is captured in the message RequestProcessing
         *      */
        RequestProcessing: {
            /** @enum {string} */
            kind: "TransformRequest";
            /** @default api.ibm.com/v1 */
            apiVersion: string;
            metadata: {
                description?: string;
                name: string;
                namespace?: string;
                tags?: string[];
                /** @enum {string} */
                type?: "REST" | "SWAGGER" | "SOAP" | "GRAPHQL" | "ODATA";
                version: string;
                labels?: {
                    gatewayTypes?: string[];
                } & {
                    [key: string]: unknown;
                };
            };
            spec: {
                /** @description Can be enabled or disabled */
                enabled?: boolean;
                /** @description Single instance of condition can be given */
                condition?: string;
                transformations?: {
                    set?: {
                        key?: string;
                        value?: string;
                    }[];
                    remove?: string[];
                    setPayload?: {
                        "content-types"?: {
                            [key: string]: string;
                        }[];
                        defaultContentType?: string;
                        xsl?: {
                            $path?: string;
                            content?: string;
                            feature?: {
                                name?: string;
                                value?: string;
                            }[];
                        }[];
                    };
                    namespaces?: {
                        URI?: string;
                        prefix?: string;
                    }[];
                    setMethod?: string;
                    webMethodsISService?: {
                        /** @description Field 'ref' with JSON name '$ref' accepts the value of either 'ref' or '$ref' from the YAML file. If both 'ref' and '$ref' are specified, the value of '$ref' takes priority. */
                        $ref: string;
                    }[];
                };
            };
        };
        /** @description The Response Processing related information is captured in the message ResponseProcessing
         *      */
        ResponseProcessing: {
            /** @enum {string} */
            kind: "TransformResponse";
            /** @default api.ibm.com/v1 */
            apiVersion: string;
            metadata: {
                description?: string;
                name: string;
                namespace?: string;
                tags?: string[];
                /** @enum {string} */
                type?: "REST" | "SWAGGER" | "SOAP" | "GRAPHQL" | "ODATA";
                version: string;
                labels?: {
                    gatewayTypes?: string[];
                } & {
                    [key: string]: unknown;
                };
            };
            spec: {
                /** @description Can be enabled or disabled */
                enabled?: boolean;
                /** @description Single instance of condition can be given */
                condition?: string;
                transformations?: {
                    set?: {
                        key?: string;
                        value?: string;
                    }[];
                    remove?: string[];
                    setPayload?: {
                        "content-types"?: {
                            [key: string]: string;
                        }[];
                        defaultContentType?: string;
                        xsl?: {
                            $path?: string;
                            content?: string;
                            feature?: {
                                name?: string;
                                value?: string;
                            }[];
                        }[];
                    };
                    namespaces?: {
                        URI?: string;
                        prefix?: string;
                    }[];
                    setStatus?: {
                        code?: string;
                        message?: string;
                    };
                    webMethodsISService?: {
                        /** @description Field 'ref' with JSON name '$ref' accepts the value of either 'ref' or '$ref' from the YAML file. If both 'ref' and '$ref' are specified, the value of '$ref' takes priority. */
                        $ref: string;
                    }[];
                };
            };
        };
        /** @description The MessageConfig related information is captured in the message MessageConfig. */
        MessageConfig: {
            /** @enum {string} */
            kind: "MessageConfig";
            /** @default api.ibm.com/v1 */
            apiVersion: string;
            metadata: {
                description?: string;
                name: string;
                namespace?: string;
                tags?: string[];
                /** @enum {string} */
                type?: "REST" | "SWAGGER" | "SOAP" | "GRAPHQL" | "ODATA";
                version: string;
                labels?: {
                    gatewayTypes?: string[];
                } & {
                    [key: string]: unknown;
                };
            };
            spec: {
                connectionAlias?: string;
                destination?: {
                    name?: string;
                    /** @enum {string} */
                    type?: "queue" | "topic";
                };
                replyTo?: {
                    name?: string;
                    /** @enum {string} */
                    type?: "queue" | "topic";
                };
                ttl?: string;
                timeToWait?: string;
                /** @enum {string} */
                deliveryMode?: "persistent" | "non_persistent";
                property?: {
                    key?: string;
                    value?: string;
                }[];
            };
        };
        /** @description Conditional Error Handling information */
        ErrorProcessing: {
            /** @enum {string} */
            kind: "ErrorProcessing";
            /** @default api.ibm.com/v1 */
            apiVersion: string;
            metadata: {
                description?: string;
                name: string;
                namespace?: string;
                tags?: string[];
                /** @enum {string} */
                type?: "REST" | "SWAGGER" | "SOAP" | "GRAPHQL" | "ODATA";
                version: string;
                labels?: {
                    gatewayTypes?: string[];
                } & {
                    [key: string]: unknown;
                };
            };
            spec: {
                enabled?: boolean;
                condition?: string;
                "pre-processing"?: {
                    webMethodsISService?: {
                        $ref: string;
                    }[];
                    xsl?: {
                        $path?: string;
                        content?: string;
                        feature?: {
                            name?: string;
                            value?: string;
                        }[];
                    }[];
                };
                transformations?: {
                    set?: {
                        key?: string;
                        value?: string;
                    }[];
                    remove?: string[];
                    setPayload?: {
                        "content-types"?: {
                            [key: string]: string;
                        }[];
                        defaultContentType?: string;
                        xsl?: {
                            $path?: string;
                            content?: string;
                            feature?: {
                                name?: string;
                                value?: string;
                            }[];
                        }[];
                    };
                    namespaces?: {
                        prefix?: string;
                        URI?: string;
                    }[];
                    sendNativeError?: boolean;
                };
                "post-processing"?: {
                    webMethodsISService?: {
                        $ref: string;
                    }[];
                    xsl?: {
                        $path?: string;
                        content?: string;
                        feature?: {
                            name?: string;
                            value?: string;
                        }[];
                    }[];
                };
            };
        };
        OutboundAlias: {
            /** @enum {string} */
            kind: "OutboundAlias";
            /** @default api.ibm.com/v1 */
            apiVersion: string;
            /** @description Defines a message named Metadata */
            metadata: {
                description?: string;
                name: string;
                namespace?: string;
                tags?: string[];
                /** @enum {string} */
                type?: "REST" | "SWAGGER" | "SOAP" | "GRAPHQL" | "ODATA";
                version: string;
                labels?: {
                    gatewayTypes?: string[];
                } & {
                    [key: string]: unknown;
                };
            };
            spec: {
                alias: string;
            };
        };
        OutboundAnonymous: {
            /** @enum {string} */
            kind: "OutboundAnonymous";
            /** @default api.ibm.com/v1 */
            apiVersion: string;
            /** @description Defines a message named Metadata */
            metadata: {
                description?: string;
                name: string;
                namespace?: string;
                tags?: string[];
                /** @enum {string} */
                type?: "REST" | "SWAGGER" | "SOAP" | "GRAPHQL" | "ODATA";
                version: string;
                labels?: {
                    gatewayTypes?: string[];
                } & {
                    [key: string]: unknown;
                };
            };
            spec: {
                [key: string]: unknown;
            };
        };
        /** @description The Data Masking related information is captured in the message DataMasking
         *      */
        DataMasking: {
            /** @enum {string} */
            kind: "DataMasking";
            /** @default api.ibm.com/v1 */
            apiVersion: string;
            metadata: {
                description?: string;
                name: string;
                namespace?: string;
                tags?: string[];
                /** @enum {string} */
                type?: "REST" | "SWAGGER" | "SOAP" | "GRAPHQL" | "ODATA";
                version: string;
                labels?: {
                    gatewayTypes?: string[];
                } & {
                    [key: string]: unknown;
                };
            };
            spec: {
                applyForPayload?: boolean;
                applyForTransactionLogging?: boolean;
                enabled?: boolean;
                matchApplications?: string[];
                transformations?: {
                    remove?: {
                        jpath?: string;
                        regex?: string;
                        xpath?: string;
                    }[];
                    setMask?: {
                        jPath?: string;
                        maskValue?: string;
                        regex?: string;
                        xPath?: string;
                        namespaces?: {
                            URI?: string;
                            prefix?: string;
                        }[];
                    }[];
                };
            };
        };
        SetAuthorization: {
            /** @enum {string} */
            kind: "SetAuthorization";
            /** @default api.ibm.com/v1 */
            apiVersion: string;
            /** @description Defines a message named Metadata */
            metadata: {
                description?: string;
                name: string;
                namespace?: string;
                tags?: string[];
                /** @enum {string} */
                type?: "REST" | "SWAGGER" | "SOAP" | "GRAPHQL" | "ODATA";
                version: string;
                labels?: {
                    gatewayTypes?: string[];
                } & {
                    [key: string]: unknown;
                };
            };
            spec: {
                basic: {
                    static: {
                        username: string;
                        /** @description Must be a resource reference in format $(VARIABLE_NAME). Do not enter actual passwords. */
                        password: string;
                    };
                    /** @enum {string} */
                    valueType?: "plain" | "jsonata";
                } | {
                    useIncoming: Record<string, never>;
                };
                message?: string;
            } | {
                oAuth2: {
                    /** @description Must be a resource reference in format $(VARIABLE_NAME). Do not enter actual apiKey. */
                    token: string;
                } | {
                    useIncoming: Record<string, never>;
                };
                message?: string;
            } | {
                ntlm: {
                    static: {
                        username: string;
                        /** @description Must be a resource reference in format $(VARIABLE_NAME). Do not enter actual passwords. */
                        password: string;
                    };
                } | {
                    useIncoming: Record<string, never>;
                } | {
                    transparent: Record<string, never>;
                };
                message?: string;
            } | {
                jwt: {
                    useIncoming: Record<string, never>;
                };
                message?: string;
            } | {
                kerberos: {
                    useIncoming: Record<string, never>;
                } | {
                    delegateIncomingCredentials: {
                        /** @description Must be a resource reference in format $(VARIABLE_NAME). Do not enter actual passwords. */
                        clientPassword: string;
                        clientPrincipal: string;
                        servicePrincipal: string;
                        /** @enum {string} */
                        servicePrincipalNameform: "Username" | "Hostbased";
                    };
                } | {
                    incomingHTTPBasicAuthCred: {
                        servicePrincipal: string;
                        /** @enum {string} */
                        servicePrincipalNameform: "Username" | "Hostbased";
                    };
                } | {
                    useCustomCredentials: {
                        /** @description Must be a resource reference in format $(VARIABLE_NAME). Do not enter actual passwords. */
                        clientPassword: string;
                        clientPrincipal: string;
                        servicePrincipal: string;
                        /** @enum {string} */
                        servicePrincipalNameform: "Username" | "Hostbased";
                    };
                };
                message?: string;
            } | {
                anonymous: Record<string, never>;
                message?: string;
            };
        };
        /**
         * @description Defines an enumeration named KindEnums. This enum defines the unique kind name which identifies assets
         * @enum {string}
         */
        KindEnums: "API" | "Scope" | "Project" | "StagedPolicySequence" | "InvokeAWSLambda" | "ValidateAPISpecification" | "CORS" | "Quota" | "Plan" | "Product" | "URISchemes" | "Telemetry" | "Properties" | "LoadBalancer" | "SetAuthorization" | "Invoke" | "GlobalPolicy" | "InboundBulkHead" | "SetMediaType" | "InboundMessaging" | "IAM" | "AuthorizeUser" | "SetContextVariable" | "WebMethodsISService" | "Log" | "MonitorTraffic" | "CacheServiceResult" | "OutboundAlias" | "OutboundAnonymous" | "HTTPInvoke" | "InvokeMessagingExtension" | "DataMasking" | "TransformRequest" | "TransformResponse" | "Route" | "MessageConfig" | "HTTPEndpoint" | "MockEndpoint" | "MockResponse" | "ErrorProcessing" | "Set" | "RateLimitDef" | "RateLimit" | "CountLimit" | "CountLimitDef";
    };
    responses: never;
    parameters: never;
    requestBodies: never;
    headers: never;
    pathItems: never;
}
export type $defs = Record<string, never>;
export type operations = Record<string, never>;
//# sourceMappingURL=api-model-kinds_generated.d.ts.map