///
import type { Readable as ReadableStream } from 'stream';
import type { ObjectData, ObjectMetadata, ObjectItem } from '../../types';
export interface IObjectStorage {
append(objectName: string, content: string, metaData?: ObjectMetadata): Promise;
getObjectToBuffer(objectName: string): Promise;
getObjectToStream(objectName: string): Promise;
getObjectToString(objectName: string): Promise;
getObjectToJSON(objectName: string): Promise;
fGetObject(objectName: string, filePath: string): Promise;
fPutObject(objectName: string, filePath: string, metaData?: ObjectMetadata): Promise;
putObject(objectName: string, data: ObjectData, metaData?: ObjectMetadata): Promise;
listObjects(prefix: string, recursive?: boolean, maxKeys?: number): Promise;
deleteObject(objectName: string): Promise;
deleteMultiObjects(objectNames: string[]): Promise;
checkObjectNameExist(objectName: string): Promise;
presignedGetObject(objectName: string): Promise;
presignedPutObject(objectName: string): Promise;
getLastModified(objectName: string): Promise;
}