import { ResourceBase } from "../../resource";
import { Value, List, MapOf } from "../../data-types";
export declare class BackupRuleResourceType {
    CompletionWindowMinutes?: Value<number>;
    ScheduleExpression?: Value<string>;
    RecoveryPointTags?: MapOf<any>;
    CopyActions?: List<CopyActionResourceType>;
    Lifecycle?: LifecycleResourceType;
    TargetBackupVault: Value<string>;
    StartWindowMinutes?: Value<number>;
    RuleName: Value<string>;
    constructor(properties: BackupRuleResourceType);
}
export declare class LifecycleResourceType {
    DeleteAfterDays?: Value<number>;
    MoveToColdStorageAfterDays?: Value<number>;
    constructor(properties: LifecycleResourceType);
}
export declare class CopyActionResourceType {
    Lifecycle?: LifecycleResourceType;
    DestinationBackupVaultArn: Value<string>;
    constructor(properties: CopyActionResourceType);
}
export declare class BackupPlanResourceType {
    BackupPlanName: Value<string>;
    BackupPlanRule: List<BackupRuleResourceType>;
    constructor(properties: BackupPlanResourceType);
}
export interface BackupPlanProperties {
    BackupPlan: BackupPlanResourceType;
    BackupPlanTags?: MapOf<any>;
}
export default class Inner_BackupPlan extends ResourceBase<BackupPlanProperties> {
    static BackupRuleResourceType: typeof BackupRuleResourceType;
    static LifecycleResourceType: typeof LifecycleResourceType;
    static CopyActionResourceType: typeof CopyActionResourceType;
    static BackupPlanResourceType: typeof BackupPlanResourceType;
    constructor(properties: BackupPlanProperties);
}
