import { KubernetesService } from '../../../infrastructure/shared/services/kubernetes.service';
import { CreatePvcFromSnapshotInput, CreateSnapshotInput, DeleteSnapshotInput, IVolumeOperations, ListSnapshotsInput, SnapshotResult, SnapshotSummary, VolumeOperationsCapabilities } from '../../interfaces/volume-operations.interface';
/**
 * Scaleway Block Storage exposes CSI VolumeSnapshot via the scaleway-csi
 * driver (v0.3+) backed by the SBS API. Snapshots are first-class objects
 * billed separately from volumes (~€0.000044/GB-hour ≈ €0.032/GB-mo) and
 * can be retained as long as needed.
 */
export declare class ScalewayVolumeOperationsService implements IVolumeOperations {
    private readonly k8s;
    private readonly logger;
    readonly capabilities: VolumeOperationsCapabilities;
    constructor(k8s: KubernetesService);
    createSnapshot(input: CreateSnapshotInput): Promise<SnapshotResult>;
    deleteSnapshot(input: DeleteSnapshotInput): Promise<void>;
    listSnapshots(input: ListSnapshotsInput): Promise<SnapshotSummary[]>;
    createPvcFromSnapshot(input: CreatePvcFromSnapshotInput): Promise<{
        pvcName: string;
    }>;
    private waitForSnapshotReady;
    private renderSnapshotManifest;
    private parseStorageGb;
    private yamlString;
}
