/**
 * 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 { IoK8sApiAutoscalingV2ContainerResourceMetricSource, IoK8sApiAutoscalingV2ExternalMetricSource, IoK8sApiAutoscalingV2ObjectMetricSource, IoK8sApiAutoscalingV2PodsMetricSource, IoK8sApiAutoscalingV2ResourceMetricSource } from './';
/**
 * MetricSpec specifies how to scale based on a single metric (only `type` and one other matching field should be set at once).
 * @export
 * @interface IoK8sApiAutoscalingV2MetricSpec
 */
export interface IoK8sApiAutoscalingV2MetricSpec {
    /**
     *
     * @type {IoK8sApiAutoscalingV2ContainerResourceMetricSource}
     * @memberof IoK8sApiAutoscalingV2MetricSpec
     */
    containerResource?: IoK8sApiAutoscalingV2ContainerResourceMetricSource;
    /**
     *
     * @type {IoK8sApiAutoscalingV2ExternalMetricSource}
     * @memberof IoK8sApiAutoscalingV2MetricSpec
     */
    external?: IoK8sApiAutoscalingV2ExternalMetricSource;
    /**
     *
     * @type {IoK8sApiAutoscalingV2ObjectMetricSource}
     * @memberof IoK8sApiAutoscalingV2MetricSpec
     */
    object?: IoK8sApiAutoscalingV2ObjectMetricSource;
    /**
     *
     * @type {IoK8sApiAutoscalingV2PodsMetricSource}
     * @memberof IoK8sApiAutoscalingV2MetricSpec
     */
    pods?: IoK8sApiAutoscalingV2PodsMetricSource;
    /**
     *
     * @type {IoK8sApiAutoscalingV2ResourceMetricSource}
     * @memberof IoK8sApiAutoscalingV2MetricSpec
     */
    resource?: IoK8sApiAutoscalingV2ResourceMetricSource;
    /**
     * type is the type of metric source.  It should be one of "ContainerResource", "External", "Object", "Pods" or "Resource", each mapping to a matching field in the object.
     * @type {string}
     * @memberof IoK8sApiAutoscalingV2MetricSpec
     */
    type: string;
}
export declare function IoK8sApiAutoscalingV2MetricSpecFromJSON(json: any): IoK8sApiAutoscalingV2MetricSpec;
export declare function IoK8sApiAutoscalingV2MetricSpecFromJSONTyped(json: any, _ignoreDiscriminator: boolean): IoK8sApiAutoscalingV2MetricSpec;
export declare function IoK8sApiAutoscalingV2MetricSpecToJSON(value?: IoK8sApiAutoscalingV2MetricSpec | null): any;
