import { IComGithubFluxcdHelmControllerApiV2ServerSideApplyMode } from "./ServerSideApplyMode.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
 * Rollback holds the configuration for Helm rollback actions for this
 * HelmRelease.
 */
export interface IRollback {
    /**
     * CleanupOnFail allows deletion of new resources created during the Helm
     * rollback action when it fails.
     */
    "cleanupOnFail"?: boolean;
    /**
     * DisableHooks prevents hooks from running during the Helm rollback action.
     */
    "disableHooks"?: boolean;
    /**
     * DisableWait disables the waiting for resources to be ready after a Helm
     * rollback has been performed.
     */
    "disableWait"?: boolean;
    /**
     * DisableWaitForJobs disables waiting for jobs to complete after a Helm
     * rollback has been performed.
     */
    "disableWaitForJobs"?: boolean;
    /**
     * Force forces resource updates through a replacement strategy
     * that avoids 3-way merge conflicts on client-side apply.
     * This field is ignored for server-side apply (which always
     * forces conflicts with other field managers).
     */
    "force"?: boolean;
    /**
     * Recreate performs pod restarts for any managed workloads.
     *
     * Deprecated: This behavior was deprecated in Helm 3:
     *   - Deprecation: https://github.com/helm/helm/pull/6463
     *   - Removal: https://github.com/helm/helm/pull/31023
     * After helm-controller was upgraded to the Helm 4 SDK,
     * this field is no longer functional and will print a
     * warning if set to true. It will also be removed in a
     * future release.
     */
    "recreate"?: boolean;
    /**
     * ServerSideApply enables server-side apply for resources during rollback.
     * Can be "enabled", "disabled", or "auto".
     * When "auto", server-side apply usage will be based on the release's previous usage.
     * Defaults to "auto".
     */
    "serverSideApply"?: IComGithubFluxcdHelmControllerApiV2ServerSideApplyMode;
    "timeout"?: string;
}
/**
 * Rollback holds the configuration for Helm rollback actions for this
 * HelmRelease.
 */
export declare class Rollback extends Model<IRollback> implements IRollback {
    "cleanupOnFail"?: boolean;
    "disableHooks"?: boolean;
    "disableWait"?: boolean;
    "disableWaitForJobs"?: boolean;
    "force"?: boolean;
    "recreate"?: boolean;
    "serverSideApply"?: IComGithubFluxcdHelmControllerApiV2ServerSideApplyMode;
    "timeout"?: string;
    constructor(data?: ModelData<IRollback>);
}
export type { IRollback as IComGithubFluxcdHelmControllerApiV2Rollback, Rollback as ComGithubFluxcdHelmControllerApiV2Rollback };
