import { GetObjectCommand, GetObjectCommandInput, GetObjectCommandOutput, PutObjectCommand, PutObjectCommandInput, PutObjectCommandOutput, S3Client, S3ServiceException, ListObjectsV2Command } from '@aws-sdk/client-s3'; /** * Re-exporting commands to be helpful so clients may not have to import the AWS SDK directly. */ export { GetObjectCommand, GetObjectCommandInput, GetObjectCommandOutput, PutObjectCommand, PutObjectCommandInput, PutObjectCommandOutput, S3ServiceException, ListObjectsV2Command, }; export declare function getS3Client(region?: string): S3Client; export interface PutFileInput { bucketName: string; key: string; data: Buffer; contentType: string; region?: string; } export declare function putFile(input: PutFileInput): Promise; export interface GetSignedGetObjectUrlInput { bucketName: string; key: string; region?: string; expiresIn?: number; } export declare function getSignedGetObjectUrl(input: GetSignedGetObjectUrlInput): Promise; export interface GetSignedPutObjectUrlInput { bucketName: string; key: string; contentType: string; region?: string; expiresIn?: number; metadata?: Record; } export declare function getSignedPutObjectUrl(input: GetSignedPutObjectUrlInput): Promise; export interface GetObjectInput { bucketName: string; key: string; region?: string; } export interface GetObjectOutput { buffer: Buffer; fileName: string; contentType?: string; metadata?: Record; } export declare function getFile(input: GetObjectInput): Promise; export interface ListObjectsInput { bucketName: string; prefix: string; region?: string; } export interface S3ObjectInfo { key: string; fileName: string; contentType?: string; metadata?: Record; lastModified?: Date; size?: number; } export declare function listObjectsWithMetadata(input: ListObjectsInput): Promise; //# sourceMappingURL=s3.d.ts.map