import { IIoK8sApimachineryPkgApiResourceQuantity } from "@kubernetes-models/apimachinery/api/resource/Quantity";
import { IIoK8sAutoscalerVerticalPodAutoscalerPkgApisAutoscalingK8sIoV1beta2ContainerScalingMode } from "./ContainerScalingMode.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
 * ContainerResourcePolicy controls how autoscaler computes the recommended
 * resources for a specific container.
 */
export interface IContainerResourcePolicy {
    /**
     * Name of the container or DefaultContainerResourcePolicy, in which
     * case the policy is used by the containers that don't have their own
     * policy specified.
     */
    "containerName"?: string;
    "maxAllowed"?: {
        [key: string]: IIoK8sApimachineryPkgApiResourceQuantity;
    };
    "minAllowed"?: {
        [key: string]: IIoK8sApimachineryPkgApiResourceQuantity;
    };
    /**
     * Whether autoscaler is enabled for the container. The default is "Auto".
     */
    "mode"?: IIoK8sAutoscalerVerticalPodAutoscalerPkgApisAutoscalingK8sIoV1beta2ContainerScalingMode;
}
/**
 * ContainerResourcePolicy controls how autoscaler computes the recommended
 * resources for a specific container.
 */
export declare class ContainerResourcePolicy extends Model<IContainerResourcePolicy> implements IContainerResourcePolicy {
    "containerName"?: string;
    "maxAllowed"?: {
        [key: string]: IIoK8sApimachineryPkgApiResourceQuantity;
    };
    "minAllowed"?: {
        [key: string]: IIoK8sApimachineryPkgApiResourceQuantity;
    };
    "mode"?: IIoK8sAutoscalerVerticalPodAutoscalerPkgApisAutoscalingK8sIoV1beta2ContainerScalingMode;
    constructor(data?: ModelData<IContainerResourcePolicy>);
}
export type { IContainerResourcePolicy as IIoK8sAutoscalerVerticalPodAutoscalerPkgApisAutoscalingK8sIoV1beta2ContainerResourcePolicy, ContainerResourcePolicy as IoK8sAutoscalerVerticalPodAutoscalerPkgApisAutoscalingK8sIoV1beta2ContainerResourcePolicy };
