/**
 * Kubernetes
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: unversioned
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { IoK8sApiextensionsApiserverPkgApisApiextensionsV1CustomResourceColumnDefinition, IoK8sApiextensionsApiserverPkgApisApiextensionsV1CustomResourceSubresources, IoK8sApiextensionsApiserverPkgApisApiextensionsV1CustomResourceValidation, IoK8sApiextensionsApiserverPkgApisApiextensionsV1SelectableField } from './';
/**
 * CustomResourceDefinitionVersion describes a version for CRD.
 * @export
 * @interface IoK8sApiextensionsApiserverPkgApisApiextensionsV1CustomResourceDefinitionVersion
 */
export interface IoK8sApiextensionsApiserverPkgApisApiextensionsV1CustomResourceDefinitionVersion {
    /**
     * additionalPrinterColumns specifies additional columns returned in Table output. See https://kubernetes.io/docs/reference/using-api/api-concepts/#receiving-resources-as-tables for details. If no columns are specified, a single column displaying the age of the custom resource is used.
     * @type {Array<IoK8sApiextensionsApiserverPkgApisApiextensionsV1CustomResourceColumnDefinition>}
     * @memberof IoK8sApiextensionsApiserverPkgApisApiextensionsV1CustomResourceDefinitionVersion
     */
    additionalPrinterColumns?: Array<IoK8sApiextensionsApiserverPkgApisApiextensionsV1CustomResourceColumnDefinition>;
    /**
     * deprecated indicates this version of the custom resource API is deprecated. When set to true, API requests to this version receive a warning header in the server response. Defaults to false.
     * @type {boolean}
     * @memberof IoK8sApiextensionsApiserverPkgApisApiextensionsV1CustomResourceDefinitionVersion
     */
    deprecated?: boolean;
    /**
     * deprecationWarning overrides the default warning returned to API clients. May only be set when `deprecated` is true. The default warning indicates this version is deprecated and recommends use of the newest served version of equal or greater stability, if one exists.
     * @type {string}
     * @memberof IoK8sApiextensionsApiserverPkgApisApiextensionsV1CustomResourceDefinitionVersion
     */
    deprecationWarning?: string;
    /**
     * name is the version name, e.g. “v1”, “v2beta1”, etc. The custom resources are served under this version at `/apis/<group>/<version>/...` if `served` is true.
     * @type {string}
     * @memberof IoK8sApiextensionsApiserverPkgApisApiextensionsV1CustomResourceDefinitionVersion
     */
    name: string;
    /**
     *
     * @type {IoK8sApiextensionsApiserverPkgApisApiextensionsV1CustomResourceValidation}
     * @memberof IoK8sApiextensionsApiserverPkgApisApiextensionsV1CustomResourceDefinitionVersion
     */
    schema?: IoK8sApiextensionsApiserverPkgApisApiextensionsV1CustomResourceValidation;
    /**
     * selectableFields specifies paths to fields that may be used as field selectors. A maximum of 8 selectable fields are allowed. See https://kubernetes.io/docs/concepts/overview/working-with-objects/field-selectors
     * @type {Array<IoK8sApiextensionsApiserverPkgApisApiextensionsV1SelectableField>}
     * @memberof IoK8sApiextensionsApiserverPkgApisApiextensionsV1CustomResourceDefinitionVersion
     */
    selectableFields?: Array<IoK8sApiextensionsApiserverPkgApisApiextensionsV1SelectableField>;
    /**
     * served is a flag enabling/disabling this version from being served via REST APIs
     * @type {boolean}
     * @memberof IoK8sApiextensionsApiserverPkgApisApiextensionsV1CustomResourceDefinitionVersion
     */
    served: boolean;
    /**
     * storage indicates this version should be used when persisting custom resources to storage. There must be exactly one version with storage=true.
     * @type {boolean}
     * @memberof IoK8sApiextensionsApiserverPkgApisApiextensionsV1CustomResourceDefinitionVersion
     */
    storage: boolean;
    /**
     *
     * @type {IoK8sApiextensionsApiserverPkgApisApiextensionsV1CustomResourceSubresources}
     * @memberof IoK8sApiextensionsApiserverPkgApisApiextensionsV1CustomResourceDefinitionVersion
     */
    subresources?: IoK8sApiextensionsApiserverPkgApisApiextensionsV1CustomResourceSubresources;
}
export declare function IoK8sApiextensionsApiserverPkgApisApiextensionsV1CustomResourceDefinitionVersionFromJSON(json: any): IoK8sApiextensionsApiserverPkgApisApiextensionsV1CustomResourceDefinitionVersion;
export declare function IoK8sApiextensionsApiserverPkgApisApiextensionsV1CustomResourceDefinitionVersionFromJSONTyped(json: any, _ignoreDiscriminator: boolean): IoK8sApiextensionsApiserverPkgApisApiextensionsV1CustomResourceDefinitionVersion;
export declare function IoK8sApiextensionsApiserverPkgApisApiextensionsV1CustomResourceDefinitionVersionToJSON(value?: IoK8sApiextensionsApiserverPkgApisApiextensionsV1CustomResourceDefinitionVersion | null): any;
