import { IObjectMeta } from "@soft-stech/apimachinery/apis/meta/v1/ObjectMeta";
import { Model, ModelData } from "@soft-stech/base";
export interface IExperiment {
    "apiVersion": "argoproj.io/v1alpha1";
    "kind": "Experiment";
    "metadata"?: IObjectMeta;
    "spec": {
        "analyses"?: Array<{
            "args"?: Array<{
                "name": string;
                "value"?: string;
                "valueFrom"?: {
                    "fieldRef"?: {
                        "fieldPath": string;
                    };
                    "secretKeyRef"?: {
                        "key": string;
                        "name": string;
                    };
                };
            }>;
            "clusterScope"?: boolean;
            "name": string;
            "requiredForCompletion"?: boolean;
            "templateName": string;
        }>;
        "dryRun"?: Array<{
            "metricName": string;
        }>;
        "duration"?: string;
        "measurementRetention"?: Array<{
            /**
             *
             * @format int32
             */
            "limit": number;
            "metricName": string;
        }>;
        /**
         *
         * @format int32
         */
        "progressDeadlineSeconds"?: number;
        /**
         *
         * @format int32
         */
        "scaleDownDelaySeconds"?: number;
        "templates": Array<{
            /**
             *
             * @format int32
             */
            "minReadySeconds"?: number;
            "name": string;
            /**
             *
             * @format int32
             */
            "replicas"?: number;
            "selector": {
                "matchExpressions"?: Array<{
                    "key": string;
                    "operator": string;
                    "values"?: Array<string>;
                }>;
                "matchLabels"?: Record<string, string>;
            };
            "service"?: {
                "name"?: string;
            };
            "template": {
                "metadata"?: {
                    "annotations"?: Record<string, string>;
                    "labels"?: Record<string, string>;
                };
                "spec"?: {
                    /**
                     *
                     * @format int64
                     */
                    "activeDeadlineSeconds"?: number;
                    "affinity"?: {
                        "nodeAffinity"?: {
                            "preferredDuringSchedulingIgnoredDuringExecution"?: Array<{
                                "preference": {
                                    "matchExpressions"?: Array<{
                                        "key": string;
                                        "operator": string;
                                        "values"?: Array<string>;
                                    }>;
                                    "matchFields"?: Array<{
                                        "key": string;
                                        "operator": string;
                                        "values"?: Array<string>;
                                    }>;
                                };
                                /**
                                 *
                                 * @format int32
                                 */
                                "weight": number;
                            }>;
                            "requiredDuringSchedulingIgnoredDuringExecution"?: {
                                "nodeSelectorTerms": Array<{
                                    "matchExpressions"?: Array<{
                                        "key": string;
                                        "operator": string;
                                        "values"?: Array<string>;
                                    }>;
                                    "matchFields"?: Array<{
                                        "key": string;
                                        "operator": string;
                                        "values"?: Array<string>;
                                    }>;
                                }>;
                            };
                        };
                        "podAffinity"?: {
                            "preferredDuringSchedulingIgnoredDuringExecution"?: Array<{
                                "podAffinityTerm": {
                                    "labelSelector"?: {
                                        "matchExpressions"?: Array<{
                                            "key": string;
                                            "operator": string;
                                            "values"?: Array<string>;
                                        }>;
                                        "matchLabels"?: Record<string, string>;
                                    };
                                    "namespaceSelector"?: {
                                        "matchExpressions"?: Array<{
                                            "key": string;
                                            "operator": string;
                                            "values"?: Array<string>;
                                        }>;
                                        "matchLabels"?: Record<string, string>;
                                    };
                                    "namespaces"?: Array<string>;
                                    "topologyKey": string;
                                };
                                /**
                                 *
                                 * @format int32
                                 */
                                "weight": number;
                            }>;
                            "requiredDuringSchedulingIgnoredDuringExecution"?: Array<{
                                "labelSelector"?: {
                                    "matchExpressions"?: Array<{
                                        "key": string;
                                        "operator": string;
                                        "values"?: Array<string>;
                                    }>;
                                    "matchLabels"?: Record<string, string>;
                                };
                                "namespaceSelector"?: {
                                    "matchExpressions"?: Array<{
                                        "key": string;
                                        "operator": string;
                                        "values"?: Array<string>;
                                    }>;
                                    "matchLabels"?: Record<string, string>;
                                };
                                "namespaces"?: Array<string>;
                                "topologyKey": string;
                            }>;
                        };
                        "podAntiAffinity"?: {
                            "preferredDuringSchedulingIgnoredDuringExecution"?: Array<{
                                "podAffinityTerm": {
                                    "labelSelector"?: {
                                        "matchExpressions"?: Array<{
                                            "key": string;
                                            "operator": string;
                                            "values"?: Array<string>;
                                        }>;
                                        "matchLabels"?: Record<string, string>;
                                    };
                                    "namespaceSelector"?: {
                                        "matchExpressions"?: Array<{
                                            "key": string;
                                            "operator": string;
                                            "values"?: Array<string>;
                                        }>;
                                        "matchLabels"?: Record<string, string>;
                                    };
                                    "namespaces"?: Array<string>;
                                    "topologyKey": string;
                                };
                                /**
                                 *
                                 * @format int32
                                 */
                                "weight": number;
                            }>;
                            "requiredDuringSchedulingIgnoredDuringExecution"?: Array<{
                                "labelSelector"?: {
                                    "matchExpressions"?: Array<{
                                        "key": string;
                                        "operator": string;
                                        "values"?: Array<string>;
                                    }>;
                                    "matchLabels"?: Record<string, string>;
                                };
                                "namespaceSelector"?: {
                                    "matchExpressions"?: Array<{
                                        "key": string;
                                        "operator": string;
                                        "values"?: Array<string>;
                                    }>;
                                    "matchLabels"?: Record<string, string>;
                                };
                                "namespaces"?: Array<string>;
                                "topologyKey": string;
                            }>;
                        };
                    };
                    "automountServiceAccountToken"?: boolean;
                    "containers": Array<{
                        "args"?: Array<string>;
                        "command"?: Array<string>;
                        "env"?: Array<{
                            "name": string;
                            "value"?: string;
                            "valueFrom"?: {
                                "configMapKeyRef"?: {
                                    "key": string;
                                    "name"?: string;
                                    "optional"?: boolean;
                                };
                                "fieldRef"?: {
                                    "apiVersion"?: string;
                                    "fieldPath": string;
                                };
                                "resourceFieldRef"?: {
                                    "containerName"?: string;
                                    /**
                                     *
                                     * @schema union([z.number(), z.string().regex(/^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$/)]).optional()
                                     */
                                    "divisor"?: number | string;
                                    "resource": string;
                                };
                                "secretKeyRef"?: {
                                    "key": string;
                                    "name"?: string;
                                    "optional"?: boolean;
                                };
                            };
                        }>;
                        "envFrom"?: Array<{
                            "configMapRef"?: {
                                "name"?: string;
                                "optional"?: boolean;
                            };
                            "prefix"?: string;
                            "secretRef"?: {
                                "name"?: string;
                                "optional"?: boolean;
                            };
                        }>;
                        "image"?: string;
                        "imagePullPolicy"?: string;
                        "lifecycle"?: {
                            "postStart"?: {
                                "exec"?: {
                                    "command"?: Array<string>;
                                };
                                "httpGet"?: {
                                    "host"?: string;
                                    "httpHeaders"?: Array<{
                                        "name": string;
                                        "value": string;
                                    }>;
                                    "path"?: string;
                                    "port": number | string;
                                    "scheme"?: string;
                                };
                                "tcpSocket"?: {
                                    "host"?: string;
                                    "port": number | string;
                                };
                            };
                            "preStop"?: {
                                "exec"?: {
                                    "command"?: Array<string>;
                                };
                                "httpGet"?: {
                                    "host"?: string;
                                    "httpHeaders"?: Array<{
                                        "name": string;
                                        "value": string;
                                    }>;
                                    "path"?: string;
                                    "port": number | string;
                                    "scheme"?: string;
                                };
                                "tcpSocket"?: {
                                    "host"?: string;
                                    "port": number | string;
                                };
                            };
                        };
                        "livenessProbe"?: {
                            "exec"?: {
                                "command"?: Array<string>;
                            };
                            /**
                             *
                             * @format int32
                             */
                            "failureThreshold"?: number;
                            "grpc"?: {
                                /**
                                 *
                                 * @format int32
                                 */
                                "port": number;
                                "service"?: string;
                            };
                            "httpGet"?: {
                                "host"?: string;
                                "httpHeaders"?: Array<{
                                    "name": string;
                                    "value": string;
                                }>;
                                "path"?: string;
                                "port": number | string;
                                "scheme"?: string;
                            };
                            /**
                             *
                             * @format int32
                             */
                            "initialDelaySeconds"?: number;
                            /**
                             *
                             * @format int32
                             */
                            "periodSeconds"?: number;
                            /**
                             *
                             * @format int32
                             */
                            "successThreshold"?: number;
                            "tcpSocket"?: {
                                "host"?: string;
                                "port": number | string;
                            };
                            /**
                             *
                             * @format int64
                             */
                            "terminationGracePeriodSeconds"?: number;
                            /**
                             *
                             * @format int32
                             */
                            "timeoutSeconds"?: number;
                        };
                        "name": string;
                        "ports"?: Array<{
                            /**
                             *
                             * @format int32
                             */
                            "containerPort": number;
                            "hostIP"?: string;
                            /**
                             *
                             * @format int32
                             */
                            "hostPort"?: number;
                            "name"?: string;
                            /**
                             *
                             * @default "TCP"
                             */
                            "protocol"?: string;
                        }>;
                        "readinessProbe"?: {
                            "exec"?: {
                                "command"?: Array<string>;
                            };
                            /**
                             *
                             * @format int32
                             */
                            "failureThreshold"?: number;
                            "grpc"?: {
                                /**
                                 *
                                 * @format int32
                                 */
                                "port": number;
                                "service"?: string;
                            };
                            "httpGet"?: {
                                "host"?: string;
                                "httpHeaders"?: Array<{
                                    "name": string;
                                    "value": string;
                                }>;
                                "path"?: string;
                                "port": number | string;
                                "scheme"?: string;
                            };
                            /**
                             *
                             * @format int32
                             */
                            "initialDelaySeconds"?: number;
                            /**
                             *
                             * @format int32
                             */
                            "periodSeconds"?: number;
                            /**
                             *
                             * @format int32
                             */
                            "successThreshold"?: number;
                            "tcpSocket"?: {
                                "host"?: string;
                                "port": number | string;
                            };
                            /**
                             *
                             * @format int64
                             */
                            "terminationGracePeriodSeconds"?: number;
                            /**
                             *
                             * @format int32
                             */
                            "timeoutSeconds"?: number;
                        };
                        "resources"?: {
                            "limits"?: any;
                            "requests"?: any;
                        };
                        "securityContext"?: {
                            "allowPrivilegeEscalation"?: boolean;
                            "capabilities"?: {
                                "add"?: Array<string>;
                                "drop"?: Array<string>;
                            };
                            "privileged"?: boolean;
                            "procMount"?: string;
                            "readOnlyRootFilesystem"?: boolean;
                            /**
                             *
                             * @format int64
                             */
                            "runAsGroup"?: number;
                            "runAsNonRoot"?: boolean;
                            /**
                             *
                             * @format int64
                             */
                            "runAsUser"?: number;
                            "seLinuxOptions"?: {
                                "level"?: string;
                                "role"?: string;
                                "type"?: string;
                                "user"?: string;
                            };
                            "seccompProfile"?: {
                                "localhostProfile"?: string;
                                "type": string;
                            };
                            "windowsOptions"?: {
                                "gmsaCredentialSpec"?: string;
                                "gmsaCredentialSpecName"?: string;
                                "hostProcess"?: boolean;
                                "runAsUserName"?: string;
                            };
                        };
                        "startupProbe"?: {
                            "exec"?: {
                                "command"?: Array<string>;
                            };
                            /**
                             *
                             * @format int32
                             */
                            "failureThreshold"?: number;
                            "grpc"?: {
                                /**
                                 *
                                 * @format int32
                                 */
                                "port": number;
                                "service"?: string;
                            };
                            "httpGet"?: {
                                "host"?: string;
                                "httpHeaders"?: Array<{
                                    "name": string;
                                    "value": string;
                                }>;
                                "path"?: string;
                                "port": number | string;
                                "scheme"?: string;
                            };
                            /**
                             *
                             * @format int32
                             */
                            "initialDelaySeconds"?: number;
                            /**
                             *
                             * @format int32
                             */
                            "periodSeconds"?: number;
                            /**
                             *
                             * @format int32
                             */
                            "successThreshold"?: number;
                            "tcpSocket"?: {
                                "host"?: string;
                                "port": number | string;
                            };
                            /**
                             *
                             * @format int64
                             */
                            "terminationGracePeriodSeconds"?: number;
                            /**
                             *
                             * @format int32
                             */
                            "timeoutSeconds"?: number;
                        };
                        "stdin"?: boolean;
                        "stdinOnce"?: boolean;
                        "terminationMessagePath"?: string;
                        "terminationMessagePolicy"?: string;
                        "tty"?: boolean;
                        "volumeDevices"?: Array<{
                            "devicePath": string;
                            "name": string;
                        }>;
                        "volumeMounts"?: Array<{
                            "mountPath": string;
                            "mountPropagation"?: string;
                            "name": string;
                            "readOnly"?: boolean;
                            "subPath"?: string;
                            "subPathExpr"?: string;
                        }>;
                        "workingDir"?: string;
                    }>;
                    "dnsConfig"?: {
                        "nameservers"?: Array<string>;
                        "options"?: Array<{
                            "name"?: string;
                            "value"?: string;
                        }>;
                        "searches"?: Array<string>;
                    };
                    "dnsPolicy"?: string;
                    "enableServiceLinks"?: boolean;
                    "ephemeralContainers"?: Array<{
                        "args"?: Array<string>;
                        "command"?: Array<string>;
                        "env"?: Array<{
                            "name": string;
                            "value"?: string;
                            "valueFrom"?: {
                                "configMapKeyRef"?: {
                                    "key": string;
                                    "name"?: string;
                                    "optional"?: boolean;
                                };
                                "fieldRef"?: {
                                    "apiVersion"?: string;
                                    "fieldPath": string;
                                };
                                "resourceFieldRef"?: {
                                    "containerName"?: string;
                                    /**
                                     *
                                     * @schema union([z.number(), z.string().regex(/^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$/)]).optional()
                                     */
                                    "divisor"?: number | string;
                                    "resource": string;
                                };
                                "secretKeyRef"?: {
                                    "key": string;
                                    "name"?: string;
                                    "optional"?: boolean;
                                };
                            };
                        }>;
                        "envFrom"?: Array<{
                            "configMapRef"?: {
                                "name"?: string;
                                "optional"?: boolean;
                            };
                            "prefix"?: string;
                            "secretRef"?: {
                                "name"?: string;
                                "optional"?: boolean;
                            };
                        }>;
                        "image"?: string;
                        "imagePullPolicy"?: string;
                        "lifecycle"?: {
                            "postStart"?: {
                                "exec"?: {
                                    "command"?: Array<string>;
                                };
                                "httpGet"?: {
                                    "host"?: string;
                                    "httpHeaders"?: Array<{
                                        "name": string;
                                        "value": string;
                                    }>;
                                    "path"?: string;
                                    "port": number | string;
                                    "scheme"?: string;
                                };
                                "tcpSocket"?: {
                                    "host"?: string;
                                    "port": number | string;
                                };
                            };
                            "preStop"?: {
                                "exec"?: {
                                    "command"?: Array<string>;
                                };
                                "httpGet"?: {
                                    "host"?: string;
                                    "httpHeaders"?: Array<{
                                        "name": string;
                                        "value": string;
                                    }>;
                                    "path"?: string;
                                    "port": number | string;
                                    "scheme"?: string;
                                };
                                "tcpSocket"?: {
                                    "host"?: string;
                                    "port": number | string;
                                };
                            };
                        };
                        "livenessProbe"?: {
                            "exec"?: {
                                "command"?: Array<string>;
                            };
                            /**
                             *
                             * @format int32
                             */
                            "failureThreshold"?: number;
                            "grpc"?: {
                                /**
                                 *
                                 * @format int32
                                 */
                                "port": number;
                                "service"?: string;
                            };
                            "httpGet"?: {
                                "host"?: string;
                                "httpHeaders"?: Array<{
                                    "name": string;
                                    "value": string;
                                }>;
                                "path"?: string;
                                "port": number | string;
                                "scheme"?: string;
                            };
                            /**
                             *
                             * @format int32
                             */
                            "initialDelaySeconds"?: number;
                            /**
                             *
                             * @format int32
                             */
                            "periodSeconds"?: number;
                            /**
                             *
                             * @format int32
                             */
                            "successThreshold"?: number;
                            "tcpSocket"?: {
                                "host"?: string;
                                "port": number | string;
                            };
                            /**
                             *
                             * @format int64
                             */
                            "terminationGracePeriodSeconds"?: number;
                            /**
                             *
                             * @format int32
                             */
                            "timeoutSeconds"?: number;
                        };
                        "name": string;
                        "ports"?: Array<{
                            /**
                             *
                             * @format int32
                             */
                            "containerPort": number;
                            "hostIP"?: string;
                            /**
                             *
                             * @format int32
                             */
                            "hostPort"?: number;
                            "name"?: string;
                            /**
                             *
                             * @default "TCP"
                             */
                            "protocol"?: string;
                        }>;
                        "readinessProbe"?: {
                            "exec"?: {
                                "command"?: Array<string>;
                            };
                            /**
                             *
                             * @format int32
                             */
                            "failureThreshold"?: number;
                            "grpc"?: {
                                /**
                                 *
                                 * @format int32
                                 */
                                "port": number;
                                "service"?: string;
                            };
                            "httpGet"?: {
                                "host"?: string;
                                "httpHeaders"?: Array<{
                                    "name": string;
                                    "value": string;
                                }>;
                                "path"?: string;
                                "port": number | string;
                                "scheme"?: string;
                            };
                            /**
                             *
                             * @format int32
                             */
                            "initialDelaySeconds"?: number;
                            /**
                             *
                             * @format int32
                             */
                            "periodSeconds"?: number;
                            /**
                             *
                             * @format int32
                             */
                            "successThreshold"?: number;
                            "tcpSocket"?: {
                                "host"?: string;
                                "port": number | string;
                            };
                            /**
                             *
                             * @format int64
                             */
                            "terminationGracePeriodSeconds"?: number;
                            /**
                             *
                             * @format int32
                             */
                            "timeoutSeconds"?: number;
                        };
                        "resources"?: {
                            "limits"?: any;
                            "requests"?: any;
                        };
                        "securityContext"?: {
                            "allowPrivilegeEscalation"?: boolean;
                            "capabilities"?: {
                                "add"?: Array<string>;
                                "drop"?: Array<string>;
                            };
                            "privileged"?: boolean;
                            "procMount"?: string;
                            "readOnlyRootFilesystem"?: boolean;
                            /**
                             *
                             * @format int64
                             */
                            "runAsGroup"?: number;
                            "runAsNonRoot"?: boolean;
                            /**
                             *
                             * @format int64
                             */
                            "runAsUser"?: number;
                            "seLinuxOptions"?: {
                                "level"?: string;
                                "role"?: string;
                                "type"?: string;
                                "user"?: string;
                            };
                            "seccompProfile"?: {
                                "localhostProfile"?: string;
                                "type": string;
                            };
                            "windowsOptions"?: {
                                "gmsaCredentialSpec"?: string;
                                "gmsaCredentialSpecName"?: string;
                                "hostProcess"?: boolean;
                                "runAsUserName"?: string;
                            };
                        };
                        "startupProbe"?: {
                            "exec"?: {
                                "command"?: Array<string>;
                            };
                            /**
                             *
                             * @format int32
                             */
                            "failureThreshold"?: number;
                            "grpc"?: {
                                /**
                                 *
                                 * @format int32
                                 */
                                "port": number;
                                "service"?: string;
                            };
                            "httpGet"?: {
                                "host"?: string;
                                "httpHeaders"?: Array<{
                                    "name": string;
                                    "value": string;
                                }>;
                                "path"?: string;
                                "port": number | string;
                                "scheme"?: string;
                            };
                            /**
                             *
                             * @format int32
                             */
                            "initialDelaySeconds"?: number;
                            /**
                             *
                             * @format int32
                             */
                            "periodSeconds"?: number;
                            /**
                             *
                             * @format int32
                             */
                            "successThreshold"?: number;
                            "tcpSocket"?: {
                                "host"?: string;
                                "port": number | string;
                            };
                            /**
                             *
                             * @format int64
                             */
                            "terminationGracePeriodSeconds"?: number;
                            /**
                             *
                             * @format int32
                             */
                            "timeoutSeconds"?: number;
                        };
                        "stdin"?: boolean;
                        "stdinOnce"?: boolean;
                        "targetContainerName"?: string;
                        "terminationMessagePath"?: string;
                        "terminationMessagePolicy"?: string;
                        "tty"?: boolean;
                        "volumeDevices"?: Array<{
                            "devicePath": string;
                            "name": string;
                        }>;
                        "volumeMounts"?: Array<{
                            "mountPath": string;
                            "mountPropagation"?: string;
                            "name": string;
                            "readOnly"?: boolean;
                            "subPath"?: string;
                            "subPathExpr"?: string;
                        }>;
                        "workingDir"?: string;
                    }>;
                    "hostAliases"?: Array<{
                        "hostnames"?: Array<string>;
                        "ip"?: string;
                    }>;
                    "hostIPC"?: boolean;
                    "hostNetwork"?: boolean;
                    "hostPID"?: boolean;
                    "hostUsers"?: boolean;
                    "hostname"?: string;
                    "imagePullSecrets"?: Array<{
                        "name"?: string;
                    }>;
                    "initContainers"?: Array<{
                        "args"?: Array<string>;
                        "command"?: Array<string>;
                        "env"?: Array<{
                            "name": string;
                            "value"?: string;
                            "valueFrom"?: {
                                "configMapKeyRef"?: {
                                    "key": string;
                                    "name"?: string;
                                    "optional"?: boolean;
                                };
                                "fieldRef"?: {
                                    "apiVersion"?: string;
                                    "fieldPath": string;
                                };
                                "resourceFieldRef"?: {
                                    "containerName"?: string;
                                    /**
                                     *
                                     * @schema union([z.number(), z.string().regex(/^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$/)]).optional()
                                     */
                                    "divisor"?: number | string;
                                    "resource": string;
                                };
                                "secretKeyRef"?: {
                                    "key": string;
                                    "name"?: string;
                                    "optional"?: boolean;
                                };
                            };
                        }>;
                        "envFrom"?: Array<{
                            "configMapRef"?: {
                                "name"?: string;
                                "optional"?: boolean;
                            };
                            "prefix"?: string;
                            "secretRef"?: {
                                "name"?: string;
                                "optional"?: boolean;
                            };
                        }>;
                        "image"?: string;
                        "imagePullPolicy"?: string;
                        "lifecycle"?: {
                            "postStart"?: {
                                "exec"?: {
                                    "command"?: Array<string>;
                                };
                                "httpGet"?: {
                                    "host"?: string;
                                    "httpHeaders"?: Array<{
                                        "name": string;
                                        "value": string;
                                    }>;
                                    "path"?: string;
                                    "port": number | string;
                                    "scheme"?: string;
                                };
                                "tcpSocket"?: {
                                    "host"?: string;
                                    "port": number | string;
                                };
                            };
                            "preStop"?: {
                                "exec"?: {
                                    "command"?: Array<string>;
                                };
                                "httpGet"?: {
                                    "host"?: string;
                                    "httpHeaders"?: Array<{
                                        "name": string;
                                        "value": string;
                                    }>;
                                    "path"?: string;
                                    "port": number | string;
                                    "scheme"?: string;
                                };
                                "tcpSocket"?: {
                                    "host"?: string;
                                    "port": number | string;
                                };
                            };
                        };
                        "livenessProbe"?: {
                            "exec"?: {
                                "command"?: Array<string>;
                            };
                            /**
                             *
                             * @format int32
                             */
                            "failureThreshold"?: number;
                            "grpc"?: {
                                /**
                                 *
                                 * @format int32
                                 */
                                "port": number;
                                "service"?: string;
                            };
                            "httpGet"?: {
                                "host"?: string;
                                "httpHeaders"?: Array<{
                                    "name": string;
                                    "value": string;
                                }>;
                                "path"?: string;
                                "port": number | string;
                                "scheme"?: string;
                            };
                            /**
                             *
                             * @format int32
                             */
                            "initialDelaySeconds"?: number;
                            /**
                             *
                             * @format int32
                             */
                            "periodSeconds"?: number;
                            /**
                             *
                             * @format int32
                             */
                            "successThreshold"?: number;
                            "tcpSocket"?: {
                                "host"?: string;
                                "port": number | string;
                            };
                            /**
                             *
                             * @format int64
                             */
                            "terminationGracePeriodSeconds"?: number;
                            /**
                             *
                             * @format int32
                             */
                            "timeoutSeconds"?: number;
                        };
                        "name": string;
                        "ports"?: Array<{
                            /**
                             *
                             * @format int32
                             */
                            "containerPort": number;
                            "hostIP"?: string;
                            /**
                             *
                             * @format int32
                             */
                            "hostPort"?: number;
                            "name"?: string;
                            /**
                             *
                             * @default "TCP"
                             */
                            "protocol"?: string;
                        }>;
                        "readinessProbe"?: {
                            "exec"?: {
                                "command"?: Array<string>;
                            };
                            /**
                             *
                             * @format int32
                             */
                            "failureThreshold"?: number;
                            "grpc"?: {
                                /**
                                 *
                                 * @format int32
                                 */
                                "port": number;
                                "service"?: string;
                            };
                            "httpGet"?: {
                                "host"?: string;
                                "httpHeaders"?: Array<{
                                    "name": string;
                                    "value": string;
                                }>;
                                "path"?: string;
                                "port": number | string;
                                "scheme"?: string;
                            };
                            /**
                             *
                             * @format int32
                             */
                            "initialDelaySeconds"?: number;
                            /**
                             *
                             * @format int32
                             */
                            "periodSeconds"?: number;
                            /**
                             *
                             * @format int32
                             */
                            "successThreshold"?: number;
                            "tcpSocket"?: {
                                "host"?: string;
                                "port": number | string;
                            };
                            /**
                             *
                             * @format int64
                             */
                            "terminationGracePeriodSeconds"?: number;
                            /**
                             *
                             * @format int32
                             */
                            "timeoutSeconds"?: number;
                        };
                        "resources"?: {
                            "limits"?: any;
                            "requests"?: any;
                        };
                        "securityContext"?: {
                            "allowPrivilegeEscalation"?: boolean;
                            "capabilities"?: {
                                "add"?: Array<string>;
                                "drop"?: Array<string>;
                            };
                            "privileged"?: boolean;
                            "procMount"?: string;
                            "readOnlyRootFilesystem"?: boolean;
                            /**
                             *
                             * @format int64
                             */
                            "runAsGroup"?: number;
                            "runAsNonRoot"?: boolean;
                            /**
                             *
                             * @format int64
                             */
                            "runAsUser"?: number;
                            "seLinuxOptions"?: {
                                "level"?: string;
                                "role"?: string;
                                "type"?: string;
                                "user"?: string;
                            };
                            "seccompProfile"?: {
                                "localhostProfile"?: string;
                                "type": string;
                            };
                            "windowsOptions"?: {
                                "gmsaCredentialSpec"?: string;
                                "gmsaCredentialSpecName"?: string;
                                "hostProcess"?: boolean;
                                "runAsUserName"?: string;
                            };
                        };
                        "startupProbe"?: {
                            "exec"?: {
                                "command"?: Array<string>;
                            };
                            /**
                             *
                             * @format int32
                             */
                            "failureThreshold"?: number;
                            "grpc"?: {
                                /**
                                 *
                                 * @format int32
                                 */
                                "port": number;
                                "service"?: string;
                            };
                            "httpGet"?: {
                                "host"?: string;
                                "httpHeaders"?: Array<{
                                    "name": string;
                                    "value": string;
                                }>;
                                "path"?: string;
                                "port": number | string;
                                "scheme"?: string;
                            };
                            /**
                             *
                             * @format int32
                             */
                            "initialDelaySeconds"?: number;
                            /**
                             *
                             * @format int32
                             */
                            "periodSeconds"?: number;
                            /**
                             *
                             * @format int32
                             */
                            "successThreshold"?: number;
                            "tcpSocket"?: {
                                "host"?: string;
                                "port": number | string;
                            };
                            /**
                             *
                             * @format int64
                             */
                            "terminationGracePeriodSeconds"?: number;
                            /**
                             *
                             * @format int32
                             */
                            "timeoutSeconds"?: number;
                        };
                        "stdin"?: boolean;
                        "stdinOnce"?: boolean;
                        "terminationMessagePath"?: string;
                        "terminationMessagePolicy"?: string;
                        "tty"?: boolean;
                        "volumeDevices"?: Array<{
                            "devicePath": string;
                            "name": string;
                        }>;
                        "volumeMounts"?: Array<{
                            "mountPath": string;
                            "mountPropagation"?: string;
                            "name": string;
                            "readOnly"?: boolean;
                            "subPath"?: string;
                            "subPathExpr"?: string;
                        }>;
                        "workingDir"?: string;
                    }>;
                    "nodeName"?: string;
                    "nodeSelector"?: Record<string, string>;
                    "os"?: {
                        "name": string;
                    };
                    "overhead"?: Record<string, number | string>;
                    "preemptionPolicy"?: string;
                    /**
                     *
                     * @format int32
                     */
                    "priority"?: number;
                    "priorityClassName"?: string;
                    "readinessGates"?: Array<{
                        "conditionType": string;
                    }>;
                    "restartPolicy"?: string;
                    "runtimeClassName"?: string;
                    "schedulerName"?: string;
                    "securityContext"?: {
                        /**
                         *
                         * @format int64
                         */
                        "fsGroup"?: number;
                        "fsGroupChangePolicy"?: string;
                        /**
                         *
                         * @format int64
                         */
                        "runAsGroup"?: number;
                        "runAsNonRoot"?: boolean;
                        /**
                         *
                         * @format int64
                         */
                        "runAsUser"?: number;
                        "seLinuxOptions"?: {
                            "level"?: string;
                            "role"?: string;
                            "type"?: string;
                            "user"?: string;
                        };
                        "seccompProfile"?: {
                            "localhostProfile"?: string;
                            "type": string;
                        };
                        "supplementalGroups"?: Array<number>;
                        "sysctls"?: Array<{
                            "name": string;
                            "value": string;
                        }>;
                        "windowsOptions"?: {
                            "gmsaCredentialSpec"?: string;
                            "gmsaCredentialSpecName"?: string;
                            "hostProcess"?: boolean;
                            "runAsUserName"?: string;
                        };
                    };
                    "serviceAccount"?: string;
                    "serviceAccountName"?: string;
                    "setHostnameAsFQDN"?: boolean;
                    "shareProcessNamespace"?: boolean;
                    "subdomain"?: string;
                    /**
                     *
                     * @format int64
                     */
                    "terminationGracePeriodSeconds"?: number;
                    "tolerations"?: Array<{
                        "effect"?: string;
                        "key"?: string;
                        "operator"?: string;
                        /**
                         *
                         * @format int64
                         */
                        "tolerationSeconds"?: number;
                        "value"?: string;
                    }>;
                    "topologySpreadConstraints"?: Array<{
                        "labelSelector"?: {
                            "matchExpressions"?: Array<{
                                "key": string;
                                "operator": string;
                                "values"?: Array<string>;
                            }>;
                            "matchLabels"?: Record<string, string>;
                        };
                        "matchLabelKeys"?: Array<string>;
                        /**
                         *
                         * @format int32
                         */
                        "maxSkew": number;
                        /**
                         *
                         * @format int32
                         */
                        "minDomains"?: number;
                        "nodeAffinityPolicy"?: string;
                        "nodeTaintsPolicy"?: string;
                        "topologyKey": string;
                        "whenUnsatisfiable": string;
                    }>;
                    "volumes"?: any;
                };
            };
        }>;
        "terminate"?: boolean;
    };
    "status"?: {
        "analysisRuns"?: Array<{
            "analysisRun": string;
            "message"?: string;
            "name": string;
            "phase": string;
        }>;
        /**
         *
         * @format date-time
         */
        "availableAt"?: string | null;
        "conditions"?: Array<{
            /**
             *
             * @format date-time
             */
            "lastTransitionTime": string | null;
            /**
             *
             * @format date-time
             */
            "lastUpdateTime": string | null;
            "message": string;
            "reason": string;
            "status": string;
            "type": string;
        }>;
        "message"?: string;
        "phase"?: string;
        "templateStatuses"?: Array<{
            /**
             *
             * @format int32
             */
            "availableReplicas": number;
            /**
             *
             * @format int32
             */
            "collisionCount"?: number;
            /**
             *
             * @format date-time
             */
            "lastTransitionTime"?: string | null;
            "message"?: string;
            "name": string;
            "podTemplateHash"?: string;
            /**
             *
             * @format int32
             */
            "readyReplicas": number;
            /**
             *
             * @format int32
             */
            "replicas": number;
            "serviceName"?: string;
            "status"?: string;
            /**
             *
             * @format int32
             */
            "updatedReplicas": number;
        }>;
    };
}
export declare class Experiment extends Model<IExperiment> implements IExperiment {
    "apiVersion": IExperiment["apiVersion"];
    "kind": IExperiment["kind"];
    "metadata"?: IExperiment["metadata"];
    "spec": IExperiment["spec"];
    "status"?: IExperiment["status"];
    static apiVersion: IExperiment["apiVersion"];
    static kind: IExperiment["kind"];
    static is: import("@soft-stech/base").TypeMetaGuard<IExperiment>;
    constructor(data?: ModelData<IExperiment>);
}
