import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SyncPolicyAutomated } from "./SyncPolicyAutomated.js";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ManagedNamespaceMetadata } from "./ManagedNamespaceMetadata.js";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1RetryStrategy } from "./RetryStrategy.js";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SyncOptions } from "./SyncOptions.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
 * SyncPolicy controls when a sync will be performed in response to updates in git
 */
export interface ISyncPolicy {
    /**
     * Automated will keep an application synced to the target revision
     */
    "automated"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SyncPolicyAutomated;
    /**
     * ManagedNamespaceMetadata controls metadata in the given namespace (if CreateNamespace=true)
     */
    "managedNamespaceMetadata"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ManagedNamespaceMetadata;
    /**
     * Retry controls failed sync retry behavior
     */
    "retry"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1RetryStrategy;
    /**
     * Options allow you to specify whole app sync-options
     */
    "syncOptions"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SyncOptions;
}
/**
 * SyncPolicy controls when a sync will be performed in response to updates in git
 */
export declare class SyncPolicy extends Model<ISyncPolicy> implements ISyncPolicy {
    "automated"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SyncPolicyAutomated;
    "managedNamespaceMetadata"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ManagedNamespaceMetadata;
    "retry"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1RetryStrategy;
    "syncOptions"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SyncOptions;
    constructor(data?: ModelData<ISyncPolicy>);
}
export type { ISyncPolicy as IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SyncPolicy, SyncPolicy as ComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SyncPolicy };
