import { z } from "zod";
/**
 * VerticalPodAutoscaler is the configuration for a vertical pod autoscaler, which automatically manages pod resources based on historical and real time resource utilization.
 */
export declare const IVerticalPodAutoscalerSchema: z.ZodObject<{
    apiVersion: z.ZodLiteral<"autoscaling.k8s.io/v1beta2">;
    kind: z.ZodLiteral<"VerticalPodAutoscaler">;
    metadata: z.ZodOptional<z.ZodObject<{
        annotations: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        creationTimestamp: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        deletionGracePeriodSeconds: z.ZodOptional<z.ZodNumber>;
        deletionTimestamp: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        finalizers: z.ZodOptional<z.ZodArray<z.ZodString>>;
        generateName: z.ZodOptional<z.ZodString>;
        generation: z.ZodOptional<z.ZodNumber>;
        labels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        managedFields: z.ZodOptional<z.ZodArray<z.ZodObject<{
            apiVersion: z.ZodOptional<z.ZodString>;
            fieldsType: z.ZodOptional<z.ZodString>;
            fieldsV1: z.ZodOptional<z.ZodObject<{}, z.core.$strip>>;
            manager: z.ZodOptional<z.ZodString>;
            operation: z.ZodOptional<z.ZodString>;
            subresource: z.ZodOptional<z.ZodString>;
            time: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        }, z.core.$strip>>>;
        name: z.ZodOptional<z.ZodString>;
        namespace: z.ZodOptional<z.ZodString>;
        ownerReferences: z.ZodOptional<z.ZodArray<z.ZodObject<{
            apiVersion: z.ZodString;
            blockOwnerDeletion: z.ZodOptional<z.ZodBoolean>;
            controller: z.ZodOptional<z.ZodBoolean>;
            kind: z.ZodString;
            name: z.ZodString;
            uid: z.ZodString;
        }, z.core.$strip>>>;
        resourceVersion: z.ZodOptional<z.ZodString>;
        selfLink: z.ZodOptional<z.ZodString>;
        uid: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    spec: z.ZodObject<{
        resourcePolicy: z.ZodOptional<z.ZodObject<{
            containerPolicies: z.ZodOptional<z.ZodArray<z.ZodObject<{
                containerName: z.ZodOptional<z.ZodString>;
                maxAllowed: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>>;
                minAllowed: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>>;
                mode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"Auto">, z.ZodLiteral<"Off">]>>;
            }, z.core.$strip>>>;
        }, z.core.$strip>>;
        targetRef: z.ZodObject<{
            apiVersion: z.ZodOptional<z.ZodString>;
            kind: z.ZodString;
            name: z.ZodString;
        }, z.core.$strip>;
        updatePolicy: z.ZodOptional<z.ZodObject<{
            updateMode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"Off">, z.ZodLiteral<"Initial">, z.ZodLiteral<"Recreate">, z.ZodLiteral<"Auto">]>>;
        }, z.core.$strip>>;
    }, z.core.$strip>;
    status: z.ZodOptional<z.ZodObject<{
        conditions: z.ZodOptional<z.ZodArray<z.ZodObject<{
            lastTransitionTime: z.ZodNullable<z.ZodOptional<z.ZodISODateTime>>;
            message: z.ZodOptional<z.ZodString>;
            reason: z.ZodOptional<z.ZodString>;
            status: z.ZodString;
            type: z.ZodString;
        }, z.core.$strip>>>;
        recommendation: z.ZodOptional<z.ZodObject<{
            containerRecommendations: z.ZodOptional<z.ZodArray<z.ZodObject<{
                containerName: z.ZodOptional<z.ZodString>;
                lowerBound: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>>;
                target: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
                uncappedTarget: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>>;
                upperBound: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>>;
            }, z.core.$strip>>>;
        }, z.core.$strip>>;
    }, z.core.$strip>>;
}, z.core.$strip>;
