/**
 * 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 { IoK8sApiResourceV1beta2ResourceSliceSpec, IoK8sApimachineryPkgApisMetaV1ObjectMeta } from './';
/**
 * ResourceSlice represents one or more resources in a pool of similar resources, managed by a common driver. A pool may span more than one ResourceSlice, and exactly how many ResourceSlices comprise a pool is determined by the driver.
 *
 * At the moment, the only supported resources are devices with attributes and capacities. Each device in a given pool, regardless of how many ResourceSlices, must have a unique name. The ResourceSlice in which a device gets published may change over time. The unique identifier for a device is the tuple <driver name>, <pool name>, <device name>.
 *
 * Whenever a driver needs to update a pool, it increments the pool.Spec.Pool.Generation number and updates all ResourceSlices with that new number and new resource definitions. A consumer must only use ResourceSlices with the highest generation number and ignore all others.
 *
 * When allocating all resources in a pool matching certain criteria or when looking for the best solution among several different alternatives, a consumer should check the number of ResourceSlices in a pool (included in each ResourceSlice) to determine whether its view of a pool is complete and if not, should wait until the driver has completed updating the pool.
 *
 * For resources that are not local to a node, the node name is not set. Instead, the driver may use a node selector to specify where the devices are available.
 *
 * This is an alpha type and requires enabling the DynamicResourceAllocation feature gate.
 * @export
 * @interface IoK8sApiResourceV1beta2ResourceSlice
 */
export interface IoK8sApiResourceV1beta2ResourceSlice {
    /**
     * APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
     * @type {string}
     * @memberof IoK8sApiResourceV1beta2ResourceSlice
     */
    apiVersion?: string;
    /**
     * Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
     * @type {string}
     * @memberof IoK8sApiResourceV1beta2ResourceSlice
     */
    kind?: string;
    /**
     *
     * @type {IoK8sApimachineryPkgApisMetaV1ObjectMeta}
     * @memberof IoK8sApiResourceV1beta2ResourceSlice
     */
    metadata?: IoK8sApimachineryPkgApisMetaV1ObjectMeta;
    /**
     *
     * @type {IoK8sApiResourceV1beta2ResourceSliceSpec}
     * @memberof IoK8sApiResourceV1beta2ResourceSlice
     */
    spec: IoK8sApiResourceV1beta2ResourceSliceSpec;
}
export declare function IoK8sApiResourceV1beta2ResourceSliceFromJSON(json: any): IoK8sApiResourceV1beta2ResourceSlice;
export declare function IoK8sApiResourceV1beta2ResourceSliceFromJSONTyped(json: any, _ignoreDiscriminator: boolean): IoK8sApiResourceV1beta2ResourceSlice;
export declare function IoK8sApiResourceV1beta2ResourceSliceToJSON(value?: IoK8sApiResourceV1beta2ResourceSlice | null): any;
