/**
 * 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: {
        Api: {
            /** @enum {string} */
            kind: "API";
            /** @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: {
                "api-spec": {
                    /** @description Field 'path' with JSON name '$path' accepts the value of either 'path' or '$path' from the YAML file. If both are specified, the value of '$path' takes priority. */
                    $path: string;
                };
                "rest-def"?: {
                    /** @description Field 'path' with JSON name '$path' accepts the value of either 'path' or '$path' from the YAML file. If both are specified, the value of '$path' takes priority. */
                    $path: string;
                };
                uriSchemes?: {
                    /** @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;
                };
                properties?: {
                    /** @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;
                };
                cors?: {
                    /** @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;
                };
                scopes?: {
                    /** @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;
                }[];
                "policy-sequence"?: {
                    /** @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 CORS related information is captured in the message CORS */
        CORS: {
            /** @enum {string} */
            kind: "CORS";
            /** @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: {
                rules: {
                    /** @enum {string} */
                    action: "allow" | "deny";
                    /** @description Multiple instances of allowed origins can be given */
                    originList: string[];
                    /** @description Credential can be allowed or not allowed */
                    allowCredentials?: boolean;
                    /** @description Multiple instances allowed methods can be given */
                    allowMethods?: string[];
                    /** @description Multiple instances of allowed headers can be given */
                    allowHeaders?: string[];
                    /** @description Single instance of maximum age can be given */
                    maxAge?: number;
                    exposeHeaders?: {
                        predefined?: boolean;
                        custom?: string;
                        backend?: boolean;
                    };
                }[];
            };
        };
        CountLimit: {
            /** @enum {string} */
            kind: "CountLimit";
            /** @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: {
                limits: {
                    limitDef: {
                        /** @description Unique name for the rate limit */
                        name: string;
                        definition: {
                            /** @description Reference to the limit definition */
                            $ref: string;
                        };
                    };
                }[];
                extensions?: {
                    "dp-nano-gateway"?: {
                        /** @default api.ibm.com/v1 */
                        apiVersion: string;
                        spec?: {
                            limits?: {
                                globalLimit: Record<string, never>;
                            }[];
                        };
                    };
                };
            };
        };
        CountLimitDef: {
            /** @enum {string} */
            kind: "CountLimitDef";
            /** @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 Size of the rate limit bucket */
                max: number;
                /** @description Whether the count should auto-decrement */
                autoDecrement: boolean;
                extensions?: {
                    "dp-nano-gateway"?: {
                        /** @default api.ibm.com/v1 */
                        apiVersion: string;
                        spec?: {
                            /** @description Optional dynamic string expression */
                            weightExpr?: string;
                            /** @description Optional dynamic key to apply the rate limit to */
                            dynamicValue?: string;
                        };
                    };
                };
            };
        };
        Quota: {
            /** @default api.ibm.com/v1 */
            apiVersion: string;
            /** @enum {string} */
            kind: "Quota";
            /** @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 Size of the rate limit bucket */
                maxRequest?: number;
                /** @description Time interval for the rate limit (e.g., 1s, 1m, 1h) */
                interval?: string;
                extensions?: {
                    "dp-gateway"?: {
                        /** @enum {string} */
                        apiVersion?: "api.ibm.com/v1";
                        spec?: {
                            /** @enum {string} */
                            onLimitReach?: "block" | "allow";
                        };
                    };
                    "dp-nano-gateway"?: {
                        /** @enum {string} */
                        apiVersion?: "api.ibm.com/v1";
                        spec?: {
                            /** @description Optional dynamic string expression */
                            weightExpr?: string;
                            /** @enum {string} */
                            exceedAction?: "continue" | "return429" | "return500";
                            intervalOffset?: number;
                            /** @description Optional dynamic key expression */
                            dynamicValue?: string;
                        };
                    };
                    "webm-gateway"?: {
                        /** @enum {string} */
                        apiVersion?: "api.ibm.com/v1";
                        spec?: {
                            alertMessage?: string;
                            /** @enum {string} */
                            alertFrequency?: "always" | "once";
                            /** @enum {string} */
                            onLimitReach?: "block" | "allow";
                            notification?: {
                                enabled?: boolean;
                                notifyAfter?: string;
                                message?: string;
                                email?: string[];
                            };
                        };
                    };
                };
            };
        };
        Product: {
            /** @default api.ibm.com/v1 */
            apiVersion: string;
            /** @enum {string} */
            kind: "Product";
            /** @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: {
                info?: {
                    categories?: string[];
                    contact?: {
                        name?: string;
                        email?: string;
                        url?: string;
                    };
                    license?: {
                        name?: string;
                        url?: string;
                    };
                    termsOfService?: string;
                    summary?: string;
                };
                apis?: {
                    $ref?: string;
                }[];
                plans?: {
                    $ref?: string;
                }[];
                extensions?: {
                    "portal-config"?: {
                        /** @enum {string} */
                        apiVersion?: "api.ibm.com/v1";
                        spec?: {
                            visibility?: {
                                view?: {
                                    /** @enum {string} */
                                    type?: "authenticated" | "public" | "custom";
                                    orgs?: string[];
                                    tags?: string[];
                                    enabled?: boolean;
                                };
                                subscribe?: {
                                    /** @enum {string} */
                                    type?: "authenticated" | "custom";
                                    orgs?: string[];
                                    tags?: string[];
                                    enabled?: boolean;
                                };
                            };
                        };
                    };
                    "dp-nano-gateway"?: {
                        /** @enum {string} */
                        apiVersion?: "api.ibm.com/v1";
                        spec?: {
                            properties?: {
                                [key: string]: {
                                    value?: string;
                                    description?: string;
                                    encoded?: boolean;
                                };
                            };
                            env?: {
                                name?: string;
                                value?: string;
                                valueFrom?: {
                                    configMapKeyRef?: {
                                        name?: string;
                                        key?: string;
                                    };
                                    secretKeyRef?: {
                                        name?: string;
                                        key?: string;
                                    };
                                    fieldRef?: {
                                        fieldPath?: string;
                                    };
                                    resourceFieldRef?: {
                                        resource?: string;
                                    };
                                };
                            }[];
                            hostAliases?: {
                                ip?: string;
                                hostnames?: string[];
                            }[];
                            logLevel?: {
                                /** @enum {string} */
                                all?: "trace" | "debug" | "info" | "warn" | "error" | "off";
                            };
                            quotaService?: {
                                cache?: {
                                    capacity?: number;
                                    maxAgeMilliseconds?: number;
                                    maxPercent?: number;
                                    fallback?: {
                                        enabled?: boolean;
                                    };
                                };
                                responseHeaders?: string;
                                updateInterval?: number;
                            };
                            replicas?: number;
                            resources?: {
                                limits?: {
                                    cpu?: string;
                                    memory?: string;
                                };
                                requests?: {
                                    cpu?: string;
                                    memory?: string;
                                };
                            };
                            sqlInjectionFilters?: {
                                commands?: string;
                                escapeSequence?: string;
                                keywordInjection?: string;
                                likeMatch?: string;
                                metacharacters?: string;
                                msSqlCommands?: string;
                                andOrAttack?: string;
                                oracleBufferOverflow?: string;
                                simpleMetacharacters?: string;
                                custom?: {
                                    [key: string]: string;
                                };
                            };
                        };
                    };
                };
            };
        };
        Plan: {
            /** @default api.ibm.com/v1 */
            apiVersion: string;
            /** @enum {string} */
            kind: "Plan";
            /** @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: {
                qos?: {
                    withQuota: {
                        unlimited?: Record<string, never>;
                    } & {
                        [key: string]: {
                            $ref: string;
                        }[];
                    };
                };
                extensions?: {
                    "webm-gateway"?: {
                        apiVersion?: string;
                        spec?: {
                            pricing?: {
                                value: number;
                                currency: string;
                            };
                            withRateLimit?: {
                                maxRequest: number;
                                interval: string;
                                alertMessage?: string;
                                alertFrequency?: string;
                                name: string;
                            }[];
                        };
                    };
                    "dp-nano-gateway"?: {
                        apiVersion?: string;
                        spec?: {
                            isApprovalRequired?: boolean;
                            apis?: {
                                $ref: string;
                                operations?: {
                                    id?: string;
                                    path?: string;
                                    method?: string;
                                    withQuota?: {
                                        unlimited?: Record<string, never>;
                                    } & {
                                        [key: string]: {
                                            $ref: string;
                                        }[];
                                    };
                                }[];
                            }[];
                            withAssemblyCountLimit?: {
                                [key: string]: {
                                    $ref: string;
                                }[];
                            };
                            /** @description Arbitrary key-value pairs for custom properties */
                            properties?: {
                                [key: string]: string;
                            };
                            telemetry?: {
                                [key: string]: string;
                            };
                        };
                    };
                    "dp-gateway"?: {
                        apiVersion?: string;
                        spec?: {
                            isApprovalRequired?: boolean;
                            withRateLimit?: {
                                maxRequest: number;
                                interval: string;
                                name: string;
                            }[];
                            withAssemblyCountLimit?: {
                                name: string;
                                maxRequest: number | string;
                                "hard-limit"?: boolean;
                                "cache-only"?: boolean;
                                "is-client"?: boolean;
                                "use-api-name"?: boolean;
                                "use-app-id"?: boolean;
                                "use-client-id"?: boolean;
                                "dynamic-value"?: number;
                                weight?: number;
                                "auto-decrement"?: boolean;
                            }[];
                            withAssemblyRateLimit?: {
                                name: string;
                                maxRequest: number;
                                interval: string;
                                "cache-only"?: boolean;
                                "is-client"?: boolean;
                                "use-api-name"?: boolean;
                                "use-app-id"?: boolean;
                                "use-client-id"?: boolean;
                                "dynamic-value"?: number;
                                weight?: number;
                            }[];
                            withAssemblyQuotaLimit?: {
                                name: string;
                                maxRequest: number;
                                interval: string;
                                "hard-limit"?: boolean;
                                "cache-only"?: boolean;
                                "is-client"?: boolean;
                                "use-api-name"?: boolean;
                                "use-app-id"?: boolean;
                                "use-client-id"?: boolean;
                                "dynamic-value"?: number;
                                weight?: number;
                            }[];
                            apis?: {
                                $ref: string;
                                operations?: {
                                    path: string;
                                    method: string;
                                    withQuota?: {
                                        unlimited?: Record<string, never>;
                                    } & {
                                        [key: string]: {
                                            $ref: string;
                                        }[];
                                    };
                                }[];
                            }[];
                        };
                    };
                };
            };
        };
        /** @description The policy sequence related information is captured in the message policy sequence */
        StagedPolicySequence: {
            /** @default api.ibm.com/v1 */
            apiVersion: string;
            /** @enum {string} */
            kind: "StagedPolicySequence";
            /** @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: {
                transport?: {
                    /** @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;
                }[];
                security?: {
                    /** @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;
                }[];
                monitoring?: {
                    /** @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;
                }[];
                routing?: {
                    /** @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;
                }[];
                "req-processing"?: {
                    /** @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;
                }[];
                "res-processing"?: {
                    /** @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;
                }[];
                "error-handling"?: {
                    /** @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 message identifies the scope */
        Scope: {
            /** @enum {string} */
            kind: "Scope";
            /** @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: {
                "policy-sequence": {
                    /** @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 Multiple instances of resources can be given */
                resources: {
                    methods: ("get" | "post" | "put" | "delete" | "patch" | "head" | "keep")[];
                    path: 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";
                    };
                };
            };
        };
        Project: {
            /** @default api.ibm.com/v1 */
            apiVersion: string;
            /** @enum {string} */
            kind: "Project";
            /** @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: {
                api?: {
                    /**
                     * @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;
                }[];
            };
        };
        UriSchemes: {
            /** @enum {string} */
            kind: "URISchemes";
            /** @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 Multiple instance of protocol can be given */
                uriSchemes: ("http" | "https")[];
            };
        };
        Properties: {
            /** @enum {string} */
            kind: "Properties";
            /** @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;
                };
            };
            /** @description Defines a set of named properties with value, description, and encoding flag */
            spec: {
                [key: string]: {
                    /** @description Actual property value */
                    value: string;
                    /** @description Description of the property */
                    description?: string;
                    /** @description Indicates whether the value is base64 encoded */
                    encoded: 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;
                        };
                    }[];
                };
            } & (unknown | unknown);
        };
        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;
                };
                tlsClientProfile?: 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;
                };
            };
        };
        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>;
                } | {
                    secret: string;
                };
                message?: string;
            } | {
                oAuth2: {
                    /** @description Must be a resource reference in format $(VARIABLE_NAME). Do not enter actual apiKey. */
                    token: string;
                } | {
                    useIncoming: Record<string, never>;
                } | {
                    secret: string;
                };
                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>;
                } | {
                    secret: string;
                };
                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;
            };
        };
        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;
            };
        };
        GlobalPolicy: {
            /** @enum {string} */
            kind: "GlobalPolicy";
            /** @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: {
                "filter-api-type"?: string[];
                "filter-http-methods"?: ("GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD")[];
                "filter-attributes"?: string;
                /** @description List of references */
                "policy-sequence": {
                    $ref?: 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[];
                    };
                })[][];
            };
        };
        /** @description The Service Result Cache related information is captured in the message ServiceResultCache */
        ServiceResultCache: {
            /** @enum {string} */
            kind: "CacheServiceResult";
            /** @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 Single instance of condition can be given */
                condition?: string;
                /** @description Can be enabled or disabled */
                enabled?: boolean;
                /** @description single instance pf maximum size can be given */
                maxSize?: string;
                /** @description Single instance of ttl can be given */
                ttl?: string;
            };
        };
        Route: {
            /** @enum {string} */
            kind: "Route";
            /** @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: {
                "default-endpoint"?: {
                    $ref: string;
                };
                "conditional-endpoints"?: {
                    condition?: string;
                    endpoint?: {
                        $ref: string;
                    };
                }[];
            } | {
                "default-endpoint"?: {
                    $ref: string;
                };
                "content-based-endpoints"?: {
                    payloadIdentifier?: {
                        jPath?: string;
                    } | {
                        xpath?: string;
                        namespaces?: {
                            prefix?: string;
                            URI?: string;
                        }[];
                    } | {
                        regex?: string;
                    };
                    endpoint?: {
                        $ref: string;
                    };
                }[];
            } | {
                "default-endpoint"?: {
                    $ref: string;
                };
                "dynamic-endpoints"?: {
                    useHeader?: {
                        name?: string;
                        $ref?: string;
                    };
                    useContext?: {
                        $ref: string;
                    };
                };
            } | {
                "mock-endpoint"?: {
                    enabled?: boolean;
                    $ref?: string;
                };
            } | {
                messageConfig?: {
                    $ref: string;
                };
            };
        };
        HTTPEndpoint: {
            /** @enum {string} */
            kind: "HTTPEndpoint";
            /** @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: {
                url?: string;
                method?: string;
                connectTimeout?: number;
                readTimeout?: number;
                serviceRegistryParameters?: {
                    name?: string;
                    value?: string;
                }[];
                sslConfig?: {
                    keyAlias?: string;
                    keyStoreAlias?: string;
                    trustStoreAlias?: string;
                };
            };
        };
        MockEndpoint: {
            /** @enum {string} */
            kind: "MockEndpoint";
            /** @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: {
                paths?: {
                    [key: string]: {
                        get?: {
                            defaultResponse?: {
                                [key: string]: {
                                    response?: {
                                        /** @description Field 'ref' with JSON name '$ref' accepts either 'ref' or '$ref'. If both are specified, '$ref' takes priority. */
                                        $ref: string;
                                    };
                                };
                            };
                            conditionalResponse?: {
                                condition?: string;
                                statusCode?: number;
                                response?: {
                                    $ref: string;
                                };
                            }[];
                        };
                        post?: {
                            defaultResponse?: {
                                [key: string]: {
                                    response?: {
                                        $ref: string;
                                    };
                                };
                            };
                            conditionalResponse?: {
                                condition?: string;
                                statusCode?: string;
                                response?: {
                                    $ref: string;
                                };
                            }[];
                        };
                        put?: {
                            defaultResponse?: {
                                [key: string]: {
                                    response?: {
                                        $ref: string;
                                    };
                                };
                            };
                            conditionalResponse?: {
                                condition?: string;
                                statusCode?: string;
                                response?: {
                                    $ref: string;
                                };
                            }[];
                        };
                        patch?: {
                            defaultResponse?: {
                                [key: string]: {
                                    response?: {
                                        $ref: string;
                                    };
                                };
                            };
                            conditionalResponse?: {
                                condition?: string;
                                statusCode?: string;
                                response?: {
                                    $ref: string;
                                };
                            }[];
                        };
                        delete?: {
                            defaultResponse?: {
                                [key: string]: {
                                    response?: {
                                        $ref: string;
                                    };
                                };
                            };
                            conditionalResponse?: {
                                condition?: string;
                                statusCode?: string;
                                response?: {
                                    $ref: string;
                                };
                            }[];
                        };
                        head?: {
                            defaultResponse?: {
                                [key: string]: {
                                    response?: {
                                        $ref: string;
                                    };
                                };
                            };
                            conditionalResponse?: {
                                condition?: string;
                                statusCode?: string;
                                response?: {
                                    $ref: string;
                                };
                            }[];
                        };
                        options?: {
                            defaultResponse?: {
                                [key: string]: {
                                    response?: {
                                        $ref: string;
                                    };
                                };
                            };
                            conditionalResponse?: {
                                condition?: string;
                                statusCode?: string;
                                response?: {
                                    $ref: string;
                                };
                            }[];
                        };
                        trace?: {
                            defaultResponse?: {
                                [key: string]: {
                                    response?: {
                                        $ref: string;
                                    };
                                };
                            };
                            conditionalResponse?: {
                                condition?: string;
                                statusCode?: string;
                                response?: {
                                    $ref: string;
                                };
                            }[];
                        };
                    };
                };
            };
        };
        MockResponse: {
            /** @enum {string} */
            kind: "MockResponse";
            /** @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: {
                code?: number;
                data?: {
                    content?: string;
                    contentType?: string;
                }[];
                headers?: {
                    key?: string;
                    value?: string;
                }[];
            };
        };
        /** @description The Throttling Policy related information is captured in the message ThrottlingPolicy */
        Set: {
            /** @enum {string} */
            kind: "Set";
            /** @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: {
                messageHeader: {
                    /** @enum {string} */
                    action: "set" | "add" | "combine";
                    headerName: string;
                    value: string;
                    messageName: string;
                };
                /** @enum {string} */
                valueType?: "webm-var-expression" | "plain" | "variables" | "jsonata" | "distributedVariable";
            } | {
                messageBody: {
                    messageName: string;
                    value: string;
                };
                /** @enum {string} */
                valueType?: "plain" | "variables" | "jsonata" | "distributedVariable";
            } | {
                messageMethod: {
                    messageName: string;
                    method: string;
                };
                /** @enum {string} */
                valueType?: "plain" | "variables" | "jsonata" | "distributedVariable";
            } | {
                messageUri: {
                    messageName: string;
                    /** @enum {string} */
                    nameType: "plain" | "variables" | "jsonata" | "distributedVariable";
                    path: string;
                    queryParams: {
                        name: string;
                        value: string;
                    }[];
                };
                /** @enum {string} */
                valueType?: "plain" | "variables" | "jsonata" | "distributedVariable";
            } | {
                variable: {
                    name: string;
                    value: string;
                };
                /** @enum {string} */
                valueType?: "plain" | "variables" | "jsonata" | "distributedVariable";
            } | {
                distributedVariable: {
                    expire: number;
                    name: string;
                    setExclusive: boolean;
                    value: string;
                };
                /** @enum {string} */
                valueType?: "plain" | "variables" | "jsonata" | "distributedVariable";
            } | {
                telemetry: {
                    key: string;
                    span: string | ({
                        policySpan: string;
                    } | {
                        httpSpan: string;
                    });
                    value: string;
                };
                /** @enum {string} */
                valueType: "plain" | "variables" | "jsonata" | "distributedVariable";
            };
        };
        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";
            };
        };
        /** @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";
                    };
                }[];
            };
        };
        Redact: {
            /** @enum {string} */
            kind: "Redact";
            /** @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: {
                message: {
                    messageName: string;
                    queryParameters?: string[];
                    headers?: string[];
                    body?: {
                        captures: {
                            jsonata: string[];
                        } | {
                            regex: string[];
                        };
                    };
                };
            } | {
                variable: {
                    name: string;
                    captures: {
                        jsonata: string[];
                    } | {
                        regex: string[];
                    };
                };
            } | {
                distributedVariable: {
                    name: string;
                    captures: {
                        jsonata: string[];
                    } | {
                        regex: string[];
                    };
                };
            } | {
                telemetry: {
                    keys: string[];
                    /** @description Supports rootSpan (string) or structured spans. */
                    span: "rootSpan" | {
                        policySpan?: string;
                        httpSpan?: string;
                    };
                };
            };
        };
        Remove: {
            /** @enum {string} */
            kind: "Remove";
            /** @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: {
                message: {
                    messageName: string;
                    queryParameters?: string[];
                    headers?: string[];
                    body?: {
                        captures: {
                            jsonata: string[];
                        } | {
                            regex: string[];
                        };
                    };
                };
            } | {
                variable: {
                    name: string;
                    captures: {
                        jsonata: string[];
                    } | {
                        regex: string[];
                    };
                };
            } | {
                distributedVariable: {
                    name: string;
                    captures: {
                        jsonata: string[];
                    } | {
                        regex: string[];
                    };
                };
            } | {
                telemetry: {
                    keys: string[];
                    span: string | ({
                        policySpan: string;
                    } | {
                        httpSpan: string;
                    });
                };
            };
        };
        Transform: {
            /** @enum {string} */
            kind: "Transform";
            /** @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: {
                messageBody: {
                    messageName: string;
                    jsonataTransforms: {
                        capture?: string;
                        transform?: string;
                    }[];
                };
            } | {
                messageHeader: {
                    messageName: string;
                    jsonataTransforms: {
                        headerNames: string[];
                        transform: string;
                    }[];
                };
            } | {
                messageUriQuery: {
                    messageName: string;
                    jsonataTransforms: {
                        queryNames: string[];
                        /** @enum {string} */
                        action: "add" | "update" | "set";
                        transform: string;
                    }[];
                };
            } | {
                messageUriPath: {
                    messageName: string;
                    jsonataTransforms: string | {
                        capture?: string;
                        transform?: string;
                    }[];
                };
            } | {
                variable: {
                    name: string;
                    jsonataTransforms: {
                        capture?: string;
                        transform?: string;
                    }[];
                };
            } | {
                distributedVariable: {
                    name: string;
                    /** @description Expiry in seconds */
                    expireIn: number;
                    jsonataTransforms: {
                        capture?: string;
                        transform?: string;
                    }[];
                };
            } | {
                telemetry: {
                    keys: {
                        keyLiterals?: string[];
                    };
                    span: "rootSpan" | {
                        policySpan?: string;
                        httpSpan?: string;
                    };
                    jsonataTransforms: {
                        capture?: string;
                        transform?: string;
                    }[];
                };
            };
        };
        DataPowerAssembly: {
            /** @enum {string} */
            kind: "DataPowerAssembly";
            /** @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: {
                "x-ibm-configuration"?: {
                    assembly: {
                        execute?: {
                            "set-variable"?: {
                                version?: string;
                                title?: string;
                                actions?: {
                                    set: string;
                                    value: string;
                                    type: string;
                                }[];
                            };
                        }[];
                    };
                } & {
                    [key: string]: unknown;
                };
            };
        };
        Switch: {
            /** @enum {string} */
            kind: "Switch";
            /** @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: {
                cases: {
                    /** @description Expression used to evaluate whether this case matches */
                    condition: string;
                    execute: {
                        /**
                         * @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;
                    }[];
                }[];
                otherwise?: {
                    /** @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;
                }[];
            };
        };
        If: {
            /** @enum {string} */
            kind: "If";
            /** @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 Expression that evaluates to true or false */
                condition: string;
                execute: {
                    /** @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;
                }[];
            };
        };
        OperationSwitch: {
            /** @enum {string} */
            kind: "OperationSwitch";
            /** @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: {
                cases: {
                    conditions: ({
                        verbPath: {
                            path: string;
                            /** @enum {string} */
                            verb: "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "OPTIONS" | "HEAD";
                        };
                    } | {
                        operationId: {
                            id: string;
                        };
                    } | {
                        path: {
                            path: string;
                        };
                    } | {
                        verb: {
                            /** @enum {string} */
                            verb: "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "OPTIONS" | "HEAD";
                        };
                    })[];
                    execute: {
                        /**
                         * @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;
                    }[];
                }[];
                otherwise?: {
                    /** @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;
                }[];
            };
        };
        Try: {
            /** @enum {string} */
            kind: "Try";
            /** @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: {
                execute: {
                    /** @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 Optional catch blocks for handling errors */
                catch?: {
                    /** @description List of error types to catch; if omitted, catch all errors */
                    errors?: ("BadRequestError" | "CacheUnmetInputs" | "CacheUnmetOutputs" | "ConnectionError" | "CorsRejectError" | "CustomError" | "ForbiddenError" | "InternalError" | "JsonataError" | "JsonataNoMatchError" | "LimitExceededError" | "LuaScriptError" | "MethodNotAllowedError" | "NotFoundError" | "NotImplementedError" | "ParseError" | "TimeoutError" | "UnauthorizedError" | "ValidateError" | "RedirectsExceeded" | "SqlInjectionFilterError" | "ServiceUnavailableError")[];
                    execute: {
                        /**
                         * @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;
                    }[];
                }[];
                finally?: {
                    /** @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;
                }[];
            };
        };
        FreeFlowPolicySequence: {
            /** @enum {string} */
            kind: "FreeFlowPolicySequence";
            /** @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: {
                security?: {
                    /**
                     * @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;
                };
                monitoring?: {
                    /**
                     * @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;
                };
                main?: {
                    /** @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;
                }[];
                error?: {
                    errorType?: string[];
                    execute?: {
                        /**
                         * @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;
                    }[];
                }[];
                finally?: {
                    /** @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;
                }[];
            } & {
                [key: string]: unknown;
            };
        };
        JavaScript: {
            /** @enum {string} */
            kind: "JavaScript";
            /** @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: {
                source?: string;
            };
        };
        LuaScript: {
            /** @enum {string} */
            kind: "LuaScript";
            /** @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: {
                source?: string;
                actions?: {
                    [key: string]: {
                        $ref: string;
                    };
                };
            };
        };
        EnforceCircuitBreaker: {
            /** @enum {string} */
            kind: "EnforceCircuitBreaker";
            /** @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: {
                /** @default false */
                preventHalfOpen: boolean;
                /** @default 10 */
                recoveryDuration: number;
                breakConditions?: {
                    reportedFailures?: {
                        failureCount: number;
                        failureDuration: number;
                    };
                    reportedFailuresAndConcurrency?: {
                        failureCount: number;
                        failureDuration: number;
                        maxConcurrentRequests: number;
                    };
                    concurrency?: {
                        maxConcurrentRequests: number;
                    };
                } & (unknown | unknown | unknown);
                execute?: {
                    /** @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;
                }[];
                fallbackExecute?: {
                    /** @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;
                }[];
            };
        };
        TokenMediation: {
            /** @enum {string} */
            kind: "TokenMediation";
            /** @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: {
                authUrl?: string;
                cookieName?: string;
                /** @enum {string} */
                output?: "response" | "postEmbeddings" | "getModels" | "getModelsModel";
                tokenUrl?: string;
                tokenUrlTls?: string;
            };
        };
        Block: {
            /** @enum {string} */
            kind: "Block";
            /** @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: {
                ip: {
                    allowList: string[];
                } | {
                    denyList: string[];
                };
            } | {
                header: {
                    allowList: {
                        name: string;
                        value: string;
                    }[];
                } | {
                    denyList: {
                        name: string;
                        value: string;
                    }[];
                };
            } | {
                queryParam: {
                    allowList: {
                        name: string;
                        value?: string;
                    }[];
                } | {
                    denyList: {
                        name: string;
                        value?: string;
                    }[];
                };
            } | {
                cookie: {
                    allowList: {
                        name: string;
                        value: string;
                    }[];
                } | {
                    denyList: {
                        name: string;
                        value: string;
                    }[];
                };
            };
        };
        Parse: {
            /** @enum {string} */
            kind: "Parse";
            /** @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;
                documentType?: {
                    detectByContentType: {
                        maxDepth?: number;
                        maxDocumentSize?: number;
                        maxNameLength?: number;
                        maxValueLength?: number;
                        maxWidth?: number;
                        maxNumberLength?: number;
                    };
                } | {
                    detectByPayload: {
                        maxDepth?: number;
                        maxDocumentSize?: number;
                        maxNameLength?: number;
                        maxValueLength?: number;
                        maxWidth?: number;
                        maxNumberLength?: number;
                    };
                } | {
                    json: {
                        maxDepth?: number;
                        maxDocumentSize?: number;
                        maxNameLength?: number;
                        maxValueLength?: number;
                        maxWidth?: number;
                        maxNumberLength?: number;
                    };
                } | {
                    binary: {
                        maxDocumentSize?: number;
                    };
                };
            };
        };
        Cache: {
            /** @enum {string} */
            kind: "Cache";
            /** @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 Identifiers for cache key. */
                inputs: ({
                    message: {
                        name: string;
                    };
                } | {
                    messageBody: {
                        name: string;
                    };
                } | {
                    messageHeader: {
                        messageName: string;
                        headerName: string;
                    };
                } | {
                    variable: {
                        name: string;
                    };
                } | {
                    custom: {
                        expression: string;
                    };
                })[];
                /** @description Variables or message parts to cache. */
                outputs: ({
                    message: {
                        name: string;
                    };
                } | {
                    messageBody: {
                        name: string;
                    };
                } | {
                    variable: {
                        name: string;
                    };
                } | {
                    messageHeader: {
                        messageName: string;
                        headerName: string;
                    };
                })[];
                scope?: {
                    narrowScope: Record<string, never>;
                } | {
                    wideScope: {
                        scopeId: string;
                    };
                };
                expire: {
                    static: {
                        seconds?: number;
                    };
                } | {
                    fromMessageHeader: {
                        headerName?: string;
                        messageName?: string;
                    };
                } | {
                    fromVariable: {
                        name?: string;
                    };
                } | {
                    fromCacheControl: {
                        messageName?: string;
                    };
                };
                execute: {
                    $ref: string;
                }[];
            };
        };
        Antivirus: {
            /** @enum {string} */
            kind: "Antivirus";
            /** @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 Policy for handling errors
                 * @enum {string}
                 */
                errorPolicy: "log" | "reject" | "strip";
                /**
                 * Format: uri
                 * @description ICAP server host URL
                 */
                icapHost: string;
                /** @description ICAP server name */
                icapName: string;
                /** @description Port number of the ICAP server */
                icapPort: number;
                /** @description Name of the ICAP service */
                icapServiceName: string;
                /** @description Message for scan */
                message: string;
                /** @description Cache expiration time in seconds */
                responseCacheExpiration: number;
                /** @description Defines what to scan in the message */
                scanType: {
                    bodyAndAttachments?: {
                        /** @description Expression to select body content */
                        bodyExpression: string;
                        /** @description Expression to filter attachments */
                        filterExpression: string;
                    };
                    attachments?: {
                        /** @description Expression to filter attachments */
                        filterExpression: string;
                    };
                };
            };
        };
        SQLInjectionFilter: {
            /** @enum {string} */
            kind: "SQLInjectionFilter";
            /** @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 Where to apply the filter.
                 *     Options: "body" (default) | "uri" | "bodyAndUri"
                 * @enum {string}
                 */
                filterOn: "body" | "uri" | "bodyAndUri";
                injectionRules: {
                    /** @description List of builtin/predefined injection rule names to enable */
                    predefined: ("likeMatch" | "escapeSequence" | "keywordInjection" | "mSSQLCommands" | "metacharacters" | "oracleBufferOverflow" | "commands" | "simpleMetacharacters" | "orAndAttack")[];
                    /**
                     * @description Names of custom injection rules. The gateway/admin must supply the corresponding regex
                     *     or rule definition (outside of this CR) mapped to these names.
                     */
                    custom: string[];
                };
                /** @description Message to use when rule is triggered (could be a message key or literal) */
                message: string;
            };
        };
        test: {
            /** @enum {string} */
            kind: "test";
            /** @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: {
                api: {
                    $ref?: string | string[];
                    $endpoint?: string;
                };
                environment?: {
                    $ref?: string;
                    variables?: {
                        key: string;
                        value: string;
                        /** @default false */
                        isSecret: boolean;
                    }[];
                } | {
                    $ref?: string;
                    variables?: {
                        key: string;
                        value: string;
                        /** @default false */
                        isSecret: boolean;
                    }[];
                }[];
                request: {
                    endpoint?: string;
                    method: string;
                    if?: boolean | string;
                    /** @default false */
                    stopOnFail: boolean;
                    /** @default false */
                    skipped: boolean;
                    resource: string;
                    headers?: {
                        key: string;
                        value: string;
                        description?: string;
                    }[];
                    auth?: {
                        noauth?: boolean;
                        bearerToken?: string;
                        basicAuth?: {
                            username: string;
                            password: string;
                        };
                    };
                    payload?: {
                        raw?: {
                            json?: string;
                            js?: string;
                            html?: string;
                            xml?: string;
                        };
                        urlEncodedFormData?: {
                            key: string;
                            value: string;
                            type?: string;
                        }[];
                        formData?: {
                            key: string;
                            value: string;
                            type?: string;
                        }[];
                    };
                    settings?: {
                        sslVerification?: boolean;
                        encodeURL?: boolean;
                    };
                    parameters?: {
                        key: string;
                        value: string;
                        type?: string;
                    }[];
                    assertions?: {
                        $ref?: string;
                        assertions?: {
                            name: string;
                            key: string;
                            value: string;
                            action: string;
                            if?: boolean | string;
                            /** @default false */
                            stopOnFail: boolean;
                        }[];
                    } | {
                        $ref?: string;
                        assertions?: {
                            name: string;
                            key: string;
                            value: string;
                            action: string;
                            if?: boolean | string;
                            /** @default false */
                            stopOnFail: boolean;
                        }[];
                    }[];
                    var?: string | ({
                        [key: string]: string;
                    } | {
                        key: string;
                        value: string;
                    })[];
                }[];
            };
            vcmId?: string;
        };
        assertion: {
            /** @enum {string} */
            kind: "assertion";
            /** @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";
            };
            spec: {
                name: string;
                key: string;
                value: string;
                action: string;
                if?: boolean | string;
                /** @default false */
                stopOnFail: boolean;
            }[];
        };
        environment: {
            /** @enum {string} */
            kind: "environment";
            /** @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: {
                variables: {
                    key: string;
                    value: string;
                    /** @default false */
                    isSecret: boolean;
                }[];
            };
        };
        MCPTool: {
            /** @enum {string} */
            kind: "MCPTool";
            /** @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: {
                tools: {
                    name: string;
                    description: string;
                    inputSchema: {
                        /** @enum {string} */
                        type: "object";
                        properties: {
                            [key: string]: {
                                description?: string;
                                /** @enum {string} */
                                "x-parameter-location"?: "query" | "path";
                                type?: string;
                                enum?: string[];
                                example?: unknown;
                                format?: string;
                                nullable?: boolean;
                            } & {
                                [key: string]: unknown;
                            };
                        };
                        required?: string[];
                    };
                    "x-original-path"?: string;
                }[];
                api?: {
                    $path?: string;
                };
            };
        };
        MCPServerConfig: {
            /** @enum {string} */
            kind: "MCPServerConfig";
            /** @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: {
                tools: {
                    /** @description Literal reference identifier (not an OAS $ref) */
                    $ref: string;
                }[];
                server: {
                    mode: string;
                };
                /** @enum {string} */
                "log-level": "INFO" | "DEBUG" | "WARN" | "ERROR";
            };
        };
        Or: {
            /** @enum {string} */
            kind: "Or";
            /** @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: {
                options: {
                    /**
                     * @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 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 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" | "Properties" | "LoadBalancer" | "SetAuthorization" | "Invoke" | "GlobalPolicy" | "IAM" | "CacheServiceResult" | "Route" | "HTTPEndpoint" | "MockEndpoint" | "MockResponse" | "Set" | "RateLimitDef" | "RateLimit" | "Redact" | "Remove" | "Transform" | "DataPowerAssembly" | "Switch" | "If" | "Try" | "OperationSwitch" | "FreeFlowPolicySequence" | "Block" | "TokenMediation" | "EnforceCircuitBreaker" | "JavaScript" | "LuaScript" | "Parse" | "Cache" | "Antivirus" | "SQLInjectionFilter" | "CountLimit" | "CountLimitDef" | "Return" | "test" | "assertion" | "environment" | "MCPTool" | "MCPServerConfig" | "Or";
    };
    responses: never;
    parameters: never;
    requestBodies: never;
    headers: never;
    pathItems: never;
}
export type $defs = Record<string, never>;
export type operations = Record<string, never>;
