export interface ControlCondition {
    /** The type of alarm specified for a practice run. You can only specify Amazon CloudWatch alarms for practice runs, so the only valid value is CLOUDWATCH. */
    type: 'CLOUDWATCH';
    /** The Amazon Resource Name (ARN) for an Amazon CloudWatch alarm that you specify as a control condition for a practice run. */
    alarmIdentifier: string;
}
export interface CancelPracticeRunInput {
    /** The identifier of a practice run zonal shift in Amazon Application Recovery Controller that you want to cancel. */
    zonalShiftId: string;
}
export interface CancelZonalShiftInput {
    /** The internally-generated identifier of a zonal shift. */
    zonalShiftId: string;
}
export interface CreatePracticeRunConfigurationInput {
    /** Outcome alarms for practice runs are alarms that you specify that end a practice run when one or more of the alarms is in an ALARM state. Configure one or more of these alarms to monitor the health of */
    outcomeAlarms: ControlCondition[];
    /** The identifier of the resource that Amazon Web Services shifts traffic for with a practice run zonal shift. The identifier is the Amazon Resource Name (ARN) for the resource. Amazon Application Recove */
    resourceIdentifier: string;
    /** Optionally, you can allow ARC to start practice runs for specific windows of days and times. The format for allowed windows is: DAY:HH:SS-DAY:HH:SS. Keep in mind, when you specify dates, that dates an */
    allowedWindows?: string[];
    /** Optionally, you can block ARC from starting practice runs for a resource on specific calendar dates. The format for blocked dates is: YYYY-MM-DD. Keep in mind, when you specify dates, that dates and t */
    blockedDates?: string[];
    /** Optionally, you can block ARC from starting practice runs for specific windows of days and times. The format for blocked windows is: DAY:HH:SS-DAY:HH:SS. Keep in mind, when you specify dates, that dat */
    blockedWindows?: string[];
    /** Blocking alarms for practice runs are optional alarms that you can specify that block practice runs when one or more of the alarms is in an ALARM state. */
    blockingAlarms?: ControlCondition[];
}
export interface DeletePracticeRunConfigurationInput {
    /** The identifier for the resource that you want to delete the practice run configuration for. The identifier is the Amazon Resource Name (ARN) for the resource. */
    resourceIdentifier: string;
}
export interface GetManagedResourceInput {
    /** The identifier for the resource that Amazon Web Services shifts traffic for. The identifier is the Amazon Resource Name (ARN) for the resource. Amazon Application Recovery Controller currently support */
    resourceIdentifier: string;
}
export interface ListAutoshiftsInput {
    /** The number of objects that you want to return with this call. */
    maxResults?: number;
    /** Specifies that you want to receive the next page of results. Valid only if you received a nextToken response in the previous request. If you did, it indicates that more output is available. Set this p */
    nextToken?: string;
    /** The status of the autoshift. */
    status?: 'ACTIVE' | 'COMPLETED';
}
export interface ListManagedResourcesInput {
    /** The number of objects that you want to return with this call. */
    maxResults?: number;
    /** Specifies that you want to receive the next page of results. Valid only if you received a nextToken response in the previous request. If you did, it indicates that more output is available. Set this p */
    nextToken?: string;
}
export interface ListZonalShiftsInput {
    /** The number of objects that you want to return with this call. */
    maxResults?: number;
    /** Specifies that you want to receive the next page of results. Valid only if you received a nextToken response in the previous request. If you did, it indicates that more output is available. Set this p */
    nextToken?: string;
    /** The identifier for the resource that you want to list zonal shifts for. The identifier is the Amazon Resource Name (ARN) for the resource. */
    resourceIdentifier?: string;
    /** A status for a zonal shift. The Status for a zonal shift can have one of the following values: ACTIVE: The zonal shift has been started and is active. EXPIRED: The zonal shift has expired (the expiry  */
    status?: 'ACTIVE' | 'EXPIRED' | 'CANCELED';
}
export interface StartPracticeRunInput {
    /** The Availability Zone (for example, use1-az1) that traffic is shifted away from for the resource that you specify for the practice run. */
    awayFrom: string;
    /** The initial comment that you enter about the practice run. Be aware that this comment can be overwritten by Amazon Web Services if the automatic check for balanced capacity fails. For more information */
    comment: string;
    /** The identifier for the resource that you want to start a practice run zonal shift for. The identifier is the Amazon Resource Name (ARN) for the resource. */
    resourceIdentifier: string;
}
export interface StartZonalShiftInput {
    /** The Availability Zone (for example, use1-az1) that traffic is moved away from for a resource when you start a zonal shift. Until the zonal shift expires or you cancel it, traffic for the resource is i */
    awayFrom: string;
    /** A comment that you enter about the zonal shift. Only the latest comment is retained; no comment history is maintained. A new comment overwrites any existing comment string. */
    comment: string;
    /** The length of time that you want a zonal shift to be active, which ARC converts to an expiry time (expiration time). Zonal shifts are temporary. You can set a zonal shift to be active initially for up */
    expiresIn: string;
    /** The identifier for the resource that Amazon Web Services shifts traffic for. The identifier is the Amazon Resource Name (ARN) for the resource. Amazon Application Recovery Controller currently support */
    resourceIdentifier: string;
}
export interface UpdateAutoshiftObserverNotificationStatusInput {
    /** The status to set for autoshift observer notification. If the status is ENABLED, ARC includes all autoshift events when you use the Amazon EventBridge pattern Autoshift In Progress. When the status is */
    status: 'ENABLED' | 'DISABLED';
}
export interface UpdatePracticeRunConfigurationInput {
    /** The identifier for the resource that you want to update the practice run configuration for. The identifier is the Amazon Resource Name (ARN) for the resource. */
    resourceIdentifier: string;
    /** Add, change, or remove windows of days and times for when you can, optionally, allow ARC to start a practice run for a resource. The format for allowed windows is: DAY:HH:SS-DAY:HH:SS. Keep in mind, w */
    allowedWindows?: string[];
    /** Add, change, or remove blocked dates for a practice run in zonal autoshift. Optionally, you can block practice runs for specific calendar dates. The format for blocked dates is: YYYY-MM-DD. Keep in mi */
    blockedDates?: string[];
    /** Add, change, or remove windows of days and times for when you can, optionally, block ARC from starting a practice run for a resource. The format for blocked windows is: DAY:HH:SS-DAY:HH:SS. Keep in mi */
    blockedWindows?: string[];
    /** Add, change, or remove the Amazon CloudWatch alarms that you optionally specify as the blocking alarms for practice runs. */
    blockingAlarms?: ControlCondition[];
    /** Specify one or more Amazon CloudWatch alarms as the outcome alarms for practice runs. */
    outcomeAlarms?: ControlCondition[];
}
export interface UpdateZonalAutoshiftConfigurationInput {
    /** The identifier for the resource that you want to update the zonal autoshift configuration for. The identifier is the Amazon Resource Name (ARN) for the resource. */
    resourceIdentifier: string;
    /** The zonal autoshift status for the resource that you want to update the zonal autoshift configuration for. Choose ENABLED to authorize Amazon Web Services to shift away resource traffic for an applica */
    zonalAutoshiftStatus: 'ENABLED' | 'DISABLED';
}
export interface UpdateZonalShiftInput {
    /** The identifier of a zonal shift. */
    zonalShiftId: string;
    /** A comment that you enter about the zonal shift. Only the latest comment is retained; no comment history is maintained. A new comment overwrites any existing comment string. */
    comment?: string;
    /** The length of time that you want a zonal shift to be active, which ARC converts to an expiry time (expiration time). Zonal shifts are temporary. You can set a zonal shift to be active initially for up */
    expiresIn?: string;
}
/** ARC Zonal Shift service binding for Step Functions SDK integrations. */
export declare class ARCZonalShift {
    constructor();
    cancelPracticeRun<T>(params: CancelPracticeRunInput): Promise<T>;
    cancelZonalShift<T>(params: CancelZonalShiftInput): Promise<T>;
    createPracticeRunConfiguration<T>(params: CreatePracticeRunConfigurationInput): Promise<T>;
    deletePracticeRunConfiguration<T>(params: DeletePracticeRunConfigurationInput): Promise<T>;
    getAutoshiftObserverNotificationStatus<T>(params: Record<string, any>): Promise<T>;
    getManagedResource<T>(params: GetManagedResourceInput): Promise<T>;
    listAutoshifts<T>(params: ListAutoshiftsInput): Promise<T>;
    listManagedResources<T>(params: ListManagedResourcesInput): Promise<T>;
    listZonalShifts<T>(params: ListZonalShiftsInput): Promise<T>;
    startPracticeRun<T>(params: StartPracticeRunInput): Promise<T>;
    startZonalShift<T>(params: StartZonalShiftInput): Promise<T>;
    updateAutoshiftObserverNotificationStatus<T>(params: UpdateAutoshiftObserverNotificationStatusInput): Promise<T>;
    updatePracticeRunConfiguration<T>(params: UpdatePracticeRunConfigurationInput): Promise<T>;
    updateZonalAutoshiftConfiguration<T>(params: UpdateZonalAutoshiftConfigurationInput): Promise<T>;
    updateZonalShift<T>(params: UpdateZonalShiftInput): Promise<T>;
}
//# sourceMappingURL=ARCZonalShift.d.ts.map