import type { JsonValue } from '../control-plane';
import type { DataServiceStore } from '../data-services';
import type { QueueExecutionContext } from '../queue';
import type { BackupPolicy, RecoveryPoint } from './model';
import type { BackupSourceAdapter, BackupSourceResult } from './service';
import { RDSClient } from '../aws/rds';
export declare class AwsDatabaseBackupSource implements BackupSourceAdapter {
    private readonly dataServices;
    private readonly client;
    constructor(dataServices: DataServiceStore, client?: RDSClient);
    private service;
    private waitForSnapshot;
    create(policy: BackupPolicy, context: QueueExecutionContext): Promise<BackupSourceResult>;
    verifyExternal(point: RecoveryPoint, _context: QueueExecutionContext): Promise<Record<string, JsonValue>>;
    restore(point: RecoveryPoint, _body: Uint8Array | undefined, target: Record<string, JsonValue>, _context: QueueExecutionContext): Promise<Record<string, JsonValue>>;
    validateHealth(target: Record<string, JsonValue>, context: QueueExecutionContext): Promise<Record<string, JsonValue>>;
    cleanup(target: Record<string, JsonValue>, _context: QueueExecutionContext): Promise<void>;
    deleteExternal(point: RecoveryPoint, _context: QueueExecutionContext): Promise<void>;
}
