/// <reference types="node" />
/// <reference types="node" />
import { S3 } from "@aws-sdk/client-s3";
import type { ICloudStorage } from "../../entities";
import type { StorageUploadOptions } from "./storage-types";
export type InitGoogleStorageOptions = {
    pathPrefix?: string;
    isDebugging?: boolean;
};
export declare function initStorage(storage: ICloudStorage): S3;
export declare function listBuckets(storage: ICloudStorage): Promise<import("@aws-sdk/client-s3").Bucket[]>;
export declare function getUploadFileStorageUrl(bucketName: string, destFileName: string): string;
export declare function getUploadFilePublicUrl(storageHost: string, destFileName: string): string;
export declare function uploadFileBuffer(storage: ICloudStorage, buffer: Buffer, destFileName: string, options?: StorageUploadOptions): Promise<{
    path: string;
    storageUrl: string;
    publicUrl: string;
}>;
export declare function uploadFileURL(storage: ICloudStorage, url: string, destFileName: string, options?: StorageUploadOptions): Promise<{
    path: string;
    storageUrl: string;
    publicUrl: string;
}>;
export declare function uploadFilePath(storage: ICloudStorage, filePath: string, destFileName: string, options?: StorageUploadOptions): Promise<{
    path: string;
    storageUrl: string;
    publicUrl: string;
}>;
//# sourceMappingURL=aws-storage.d.ts.map