import { z } from "zod";
/**
 * ScaledObject is a specification for a ScaledObject resource
 */
export declare const IScaledObjectSchema: z.ZodObject<{
    apiVersion: z.ZodLiteral<"keda.sh/v1alpha1">;
    kind: z.ZodLiteral<"ScaledObject">;
    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<{
        advanced: z.ZodOptional<z.ZodObject<{
            horizontalPodAutoscalerConfig: z.ZodOptional<z.ZodObject<{
                behavior: z.ZodOptional<z.ZodObject<{
                    scaleDown: z.ZodOptional<z.ZodObject<{
                        policies: z.ZodOptional<z.ZodArray<z.ZodObject<{
                            periodSeconds: z.ZodInt32;
                            type: z.ZodString;
                            value: z.ZodInt32;
                        }, z.core.$strip>>>;
                        selectPolicy: z.ZodOptional<z.ZodString>;
                        stabilizationWindowSeconds: z.ZodOptional<z.ZodInt32>;
                    }, z.core.$strip>>;
                    scaleUp: z.ZodOptional<z.ZodObject<{
                        policies: z.ZodOptional<z.ZodArray<z.ZodObject<{
                            periodSeconds: z.ZodInt32;
                            type: z.ZodString;
                            value: z.ZodInt32;
                        }, z.core.$strip>>>;
                        selectPolicy: z.ZodOptional<z.ZodString>;
                        stabilizationWindowSeconds: z.ZodOptional<z.ZodInt32>;
                    }, z.core.$strip>>;
                }, z.core.$strip>>;
                name: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            restoreToOriginalReplicaCount: z.ZodOptional<z.ZodBoolean>;
            scalingModifiers: z.ZodOptional<z.ZodObject<{
                activationTarget: z.ZodOptional<z.ZodString>;
                formula: z.ZodOptional<z.ZodString>;
                metricType: z.ZodOptional<z.ZodString>;
                target: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
        }, z.core.$strip>>;
        cooldownPeriod: z.ZodOptional<z.ZodInt32>;
        fallback: z.ZodOptional<z.ZodObject<{
            failureThreshold: z.ZodInt32;
            replicas: z.ZodInt32;
        }, z.core.$strip>>;
        idleReplicaCount: z.ZodOptional<z.ZodInt32>;
        initialCooldownPeriod: z.ZodOptional<z.ZodInt32>;
        maxReplicaCount: z.ZodOptional<z.ZodInt32>;
        minReplicaCount: z.ZodOptional<z.ZodInt32>;
        pollingInterval: z.ZodOptional<z.ZodInt32>;
        scaleTargetRef: z.ZodObject<{
            apiVersion: z.ZodOptional<z.ZodString>;
            envSourceContainerName: z.ZodOptional<z.ZodString>;
            kind: z.ZodOptional<z.ZodString>;
            name: z.ZodString;
        }, z.core.$strip>;
        triggers: z.ZodArray<z.ZodObject<{
            authenticationRef: z.ZodOptional<z.ZodObject<{
                kind: z.ZodOptional<z.ZodString>;
                name: z.ZodString;
            }, z.core.$strip>>;
            metadata: z.ZodRecord<z.ZodString, z.ZodString>;
            metricType: z.ZodOptional<z.ZodString>;
            name: z.ZodOptional<z.ZodString>;
            type: z.ZodString;
            useCachedMetrics: z.ZodOptional<z.ZodBoolean>;
        }, z.core.$strip>>;
    }, z.core.$strip>;
    status: z.ZodOptional<z.ZodObject<{
        compositeScalerName: z.ZodOptional<z.ZodString>;
        conditions: z.ZodOptional<z.ZodArray<z.ZodObject<{
            message: z.ZodOptional<z.ZodString>;
            reason: z.ZodOptional<z.ZodString>;
            status: z.ZodString;
            type: z.ZodString;
        }, z.core.$strip>>>;
        externalMetricNames: z.ZodOptional<z.ZodArray<z.ZodString>>;
        health: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
            numberOfFailures: z.ZodOptional<z.ZodInt32>;
            status: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        hpaName: z.ZodOptional<z.ZodString>;
        lastActiveTime: z.ZodNullable<z.ZodOptional<z.ZodISODateTime>>;
        originalReplicaCount: z.ZodOptional<z.ZodInt32>;
        pausedReplicaCount: z.ZodOptional<z.ZodInt32>;
        resourceMetricNames: z.ZodOptional<z.ZodArray<z.ZodString>>;
        scaleTargetGVKR: z.ZodOptional<z.ZodObject<{
            group: z.ZodString;
            kind: z.ZodString;
            resource: z.ZodString;
            version: z.ZodString;
        }, z.core.$strip>>;
        scaleTargetKind: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
}, z.core.$strip>;
