import { AWSClient } from './client';
export interface AwsBackupJob {
    BackupJobId?: string;
    State?: string;
    StatusMessage?: string;
    RecoveryPointArn?: string;
    BackupSizeInBytes?: number;
    ResourceArn?: string;
    BackupVaultName?: string;
}
export interface AwsRestoreJob {
    RestoreJobId?: string;
    Status?: string;
    StatusMessage?: string;
    CreatedResourceArn?: string;
    RecoveryPointArn?: string;
}
export declare class AwsBackupClient {
    private readonly region;
    private readonly client;
    constructor(region?: string, client?: AWSClient);
    private request;
    startBackupJob(input: {
        BackupVaultName: string;
        ResourceArn: string;
        IamRoleArn: string;
        IdempotencyToken: string;
    }): Promise<{
        BackupJobId: string;
    }>;
    describeBackupJob(BackupJobId: string): Promise<AwsBackupJob>;
    startRestoreJob(input: {
        RecoveryPointArn: string;
        IamRoleArn: string;
        Metadata: Record<string, string>;
        IdempotencyToken: string;
    }): Promise<{
        RestoreJobId: string;
    }>;
    describeRestoreJob(RestoreJobId: string): Promise<AwsRestoreJob>;
    deleteRecoveryPoint(BackupVaultName: string, RecoveryPointArn: string): Promise<void>;
}
