import { IObjectStorageProvisioner, ProvisionerCapability, ProvisionerReadiness, ProvisionInput, ProvisionResult } from '../../../../storage/interfaces/object-storage-provisioner.interface';
import { StorageBackendProvider } from '../../../../storage/enums/storage-backend-provider.enum';
import { GenericS3Backend } from '../../../../storage/implementations/generic-s3.backend';
import { HetznerObjectStorageConnectionService } from './hetzner-object-storage-connection.service';
/**
 * Provisioner Hetzner Object Storage — SEMI_AUTO.
 * Hetzner Object Storage non espone API per gestire credenziali, quindi
 * l'utente deve incollarle una volta tramite il flusso "Connect Hetzner
 * Object Storage". Una volta collegate, il bucket viene creato automaticamente
 * via S3 API.
 */
export declare class HetznerObjectStorageProvisioner implements IObjectStorageProvisioner {
    private readonly connectionService;
    private readonly genericS3;
    private readonly logger;
    readonly provider = StorageBackendProvider.HETZNER_OBJECT_STORAGE;
    readonly capability = ProvisionerCapability.SEMI_AUTO;
    constructor(connectionService: HetznerObjectStorageConnectionService, genericS3: GenericS3Backend);
    isReady(_userId: string): Promise<ProvisionerReadiness>;
    provisionDestination(input: ProvisionInput): Promise<ProvisionResult>;
    private defaultBucketName;
}
