/// <reference types="node" />
/// <reference types="node" />
import { S3 } from "@aws-sdk/client-s3";
import type { CloudStorageProvider, ICloudStorage, StorageUploadOptions } from "./types";
export declare function getCurrentStorage(): ICloudStorage;
export declare function initStorage(storage: ICloudStorage): Promise<S3>;
export declare function listBuckets(storage: ICloudStorage): Promise<import("@aws-sdk/client-s3").Bucket[]>;
export declare function uploadFileBuffer(buffer: Buffer, destFileName: string, options?: StorageUploadOptions): Promise<{
    path: string;
    storageUrl: string;
    publicUrl: string;
    provider: CloudStorageProvider;
}>;
export declare function uploadFileURL(url: string, destFileName: string, options?: StorageUploadOptions): Promise<{
    path: string;
    storageUrl: string;
    publicUrl: string;
    provider: "google" | "cloudflare" | "aws_s3" | "do_space";
}>;
export declare function uploadFilePath(filePath: string, destFileName: string, options?: StorageUploadOptions): Promise<{
    path: string;
    storageUrl: string;
    publicUrl: string;
    provider: "google" | "cloudflare" | "aws_s3" | "do_space";
}>;
//# sourceMappingURL=storage-upload.d.ts.map