///
import { S3 } from 'aws-sdk';
export declare enum S3BucketErrorCodes {
NO_SUCH_BUCKET = "NoSuchBucket",
NO_SUCH_KEY = "NoSuchKey"
}
/**
* @function listBuckets
* @description Returns a list of existing S3 Buckets
*/
export declare const listBuckets: () => Promise;
/**
* @function listBucketObjects
* @description Returns a list of the existing objects inside the specified S3 Bucket
*/
export declare const listBucketObjects: (bucketName: string, maxObjects?: number | undefined) => Promise;
export interface BucketObjectsData {
name: string;
lastModified: string | Date;
size: string | number;
storage: string;
owner: string | S3.Types.Owner;
}
/**
* @function readFromBucket
* @description Function responsible for reading a single object from the specified S3 Bucket
* Returns the content as a Buffer
*
* @param { String } bucketName
* @param { String } objectKey
* @returns { Promise }
*/
export declare const readFromBucket: (bucketName: string, objectKey: string) => Promise;
/**
* @function writeToBucket
* @description function responsible for writing the provided data to a file inside the specified S3 Bucket.
* IMPORTANT - If the file already exists, it is overwritten
*
* @param { String } bucketName
* @param { String } objectKey
* @param { any } data
* @returns { void }
*/
export declare const writeToBucket: (bucketName: string, objectKey: string, data: any) => Promise;
/**
* @function deleteFromBucket
* @description function responsible for deleting an object with the specified key from the specified S3 Bucket.
*
* @param { String } bucketName
* @param { String } objectKey
* @returns { void }
*/
export declare const deleteFromBucket: (bucketName: string, objectKey: string) => Promise;