import { IComGithubFluxcdHelmControllerApiV2RemediationStrategy } from "./RemediationStrategy.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
 * UpgradeRemediation holds the configuration for Helm upgrade remediation.
 */
export interface IUpgradeRemediation {
    /**
     * IgnoreTestFailures tells the controller to skip remediation when the Helm
     * tests are run after an upgrade action but fail.
     * Defaults to 'Test.IgnoreFailures'.
     */
    "ignoreTestFailures"?: boolean;
    /**
     * RemediateLastFailure tells the controller to remediate the last failure, when
     * no retries remain. Defaults to 'false' unless 'Retries' is greater than 0.
     */
    "remediateLastFailure"?: boolean;
    /**
     * Retries is the number of retries that should be attempted on failures before
     * bailing. Remediation, using 'Strategy', is performed between each attempt.
     * Defaults to '0', a negative integer equals to unlimited retries.
     */
    "retries"?: number;
    /**
     * Strategy to use for failure remediation. Defaults to 'rollback'.
     */
    "strategy"?: IComGithubFluxcdHelmControllerApiV2RemediationStrategy;
}
/**
 * UpgradeRemediation holds the configuration for Helm upgrade remediation.
 */
export declare class UpgradeRemediation extends Model<IUpgradeRemediation> implements IUpgradeRemediation {
    "ignoreTestFailures"?: boolean;
    "remediateLastFailure"?: boolean;
    "retries"?: number;
    "strategy"?: IComGithubFluxcdHelmControllerApiV2RemediationStrategy;
    constructor(data?: ModelData<IUpgradeRemediation>);
}
export type { IUpgradeRemediation as IComGithubFluxcdHelmControllerApiV2UpgradeRemediation, UpgradeRemediation as ComGithubFluxcdHelmControllerApiV2UpgradeRemediation };
