import { DtoExpiresObject, FileAttributes, StorageProviderEntity } from './types'; export declare class StorageProvider { private readonly _provider; private readonly _accessKey; private readonly _secretKey?; private readonly _region; private readonly _bucket; private readonly _expires; private readonly _host?; private readonly _port?; private readonly _options?; private readonly _clientS3; private readonly _clientMinio; private readonly _clientGCS; constructor(params: StorageProviderEntity); /** * Expires Object Storage Sign * @returns */ expiresObject(): DtoExpiresObject; /** * ```sh * Using a client with a Cloud Storage Provider * ``` * @name * Using the client with the AWS S3 Provider * @example * import { TypeS3 } from 'expresso-provider/lib/storage/types' * * const storage = new Storage('s3') * const s3 = storage.client().getObject() * * @name * Using the client with the Minio Provider * @example * import { TypeMinio } from 'expresso-provider/lib/storage/types' * * const storage = new Storage('minio') * const minio = storage.client().fGetObject() * * @name * Using the client with the Google Cloud Storage Provider * @example * import { TypeGCS } from 'expresso-provider/lib/storage/types' * * const storage = new Storage('gcs') * const gcs = storage.client().getProjectId() * * @returns */ client(): T | undefined; /** * Create S3 Bucket */ private _createS3Bucket; /** * Initial Aws S3 */ private _initialS3; /** * Create Minio Bucket */ private _createMinioBucket; /** * Initial Minio */ private _initialMinio; /** * Create Google Cloud Storage Bucket */ private _createGCSBucket; /** * Initial Google Cloud Storage */ private _initialGCS; initialize(): Promise; /** * Get Presigned URL from AWS S3 * @param keyFile * @returns */ private _getPresignedURLS3; /** * Get Presigned URL from MinIO * @param keyFile * @returns */ private _getPresignedURLMinIO; /** * Get Presigned URL from Google Cloud Storage * @param keyFile * @returns */ private _getPresignedURLGCS; /** * Get Presigned URL * @param keyFile * @returns */ getPresignedURL(keyFile: string): Promise; /** * * @param values * @returns */ private _generateKeyFile; /** * Upload File from AWS S3 * @param fieldUpload * @param directory * @returns */ private _uploadFileS3; /** * Upload File from MinIO * @param fieldUpload * @param directory * @returns */ private _uploadFileMinIO; /** * Upload File from Google Cloud Storage * @param fieldUpload * @param directory * @returns */ private _uploadFileGCS; /** * Upload File to Storage Provider * @param fieldUpload * @param directory * @returns */ uploadFile(fieldUpload: FileAttributes, directory: string): Promise<{ data: T; signedURL: string; }>; } //# sourceMappingURL=index.d.ts.map