import { ModelData, Model } from "@kubernetes-models/base";
/**
 * SyncWindow contains the kind, time, duration and attributes that are used to assign the syncWindows to apps
 */
export interface ISyncWindow {
    /**
     * UseAndOperator use AND operator for matching applications, namespaces and clusters instead of the default OR operator
     */
    "andOperator"?: boolean;
    /**
     * Applications contains a list of applications that the window will apply to
     */
    "applications"?: Array<string>;
    /**
     * Clusters contains a list of clusters that the window will apply to
     */
    "clusters"?: Array<string>;
    /**
     * Description of the sync that will be applied to the schedule, can be used to add any information such as a ticket number for example
     */
    "description"?: string;
    /**
     * Duration is the amount of time the sync window will be open
     */
    "duration"?: string;
    /**
     * Kind defines if the window allows or blocks syncs
     */
    "kind"?: string;
    /**
     * ManualSync enables manual syncs when they would otherwise be blocked
     */
    "manualSync"?: boolean;
    /**
     * Namespaces contains a list of namespaces that the window will apply to
     */
    "namespaces"?: Array<string>;
    /**
     * Schedule is the time the window will begin, specified in cron format
     */
    "schedule"?: string;
    /**
     * TimeZone of the sync that will be applied to the schedule
     */
    "timeZone"?: string;
}
/**
 * SyncWindow contains the kind, time, duration and attributes that are used to assign the syncWindows to apps
 */
export declare class SyncWindow extends Model<ISyncWindow> implements ISyncWindow {
    "andOperator"?: boolean;
    "applications"?: Array<string>;
    "clusters"?: Array<string>;
    "description"?: string;
    "duration"?: string;
    "kind"?: string;
    "manualSync"?: boolean;
    "namespaces"?: Array<string>;
    "schedule"?: string;
    "timeZone"?: string;
    constructor(data?: ModelData<ISyncWindow>);
}
export type { ISyncWindow as IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SyncWindow, SyncWindow as ComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SyncWindow };
