import { IIoK8sApiBatchV1JobSpec } from "kubernetes-models/batch/v1/JobSpec";
import { IComGithubKedacoreKedaV2ApisKedaV1alpha1Rollout } from "./Rollout.js";
import { IComGithubKedacoreKedaV2ApisKedaV1alpha1ScalingStrategy } from "./ScalingStrategy.js";
import { IComGithubKedacoreKedaV2ApisKedaV1alpha1ScaleTriggers } from "./ScaleTriggers.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
 * ScaledJobSpec defines the desired state of ScaledJob
 */
export interface IScaledJobSpec {
    "envSourceContainerName"?: string;
    "failedJobsHistoryLimit"?: number;
    "jobTargetRef": IIoK8sApiBatchV1JobSpec;
    "maxReplicaCount"?: number;
    "minReplicaCount"?: number;
    "pollingInterval"?: number;
    "rollout"?: IComGithubKedacoreKedaV2ApisKedaV1alpha1Rollout;
    "rolloutStrategy"?: string;
    "scalingStrategy"?: IComGithubKedacoreKedaV2ApisKedaV1alpha1ScalingStrategy;
    "successfulJobsHistoryLimit"?: number;
    "triggers": Array<IComGithubKedacoreKedaV2ApisKedaV1alpha1ScaleTriggers>;
}
/**
 * ScaledJobSpec defines the desired state of ScaledJob
 */
export declare class ScaledJobSpec extends Model<IScaledJobSpec> implements IScaledJobSpec {
    "envSourceContainerName"?: string;
    "failedJobsHistoryLimit"?: number;
    "jobTargetRef": IIoK8sApiBatchV1JobSpec;
    "maxReplicaCount"?: number;
    "minReplicaCount"?: number;
    "pollingInterval"?: number;
    "rollout"?: IComGithubKedacoreKedaV2ApisKedaV1alpha1Rollout;
    "rolloutStrategy"?: string;
    "scalingStrategy"?: IComGithubKedacoreKedaV2ApisKedaV1alpha1ScalingStrategy;
    "successfulJobsHistoryLimit"?: number;
    "triggers": Array<IComGithubKedacoreKedaV2ApisKedaV1alpha1ScaleTriggers>;
    constructor(data?: ModelData<IScaledJobSpec>);
}
export type { IScaledJobSpec as IComGithubKedacoreKedaV2ApisKedaV1alpha1ScaledJobSpec, ScaledJobSpec as ComGithubKedacoreKedaV2ApisKedaV1alpha1ScaledJobSpec };
