import { S3Client } from 'bun'; import { AdapterInterface } from '../adapter.interface'; import { ListContentsResponse } from '../response/list.contents.response'; import { AbstractAdapter } from './abstract.adapter'; interface BunAdapterOptions { accessKeyId: string; secretAccessKey: string; bucket: string; endpoint?: string; region?: string; } export declare class BunAdapter extends AbstractAdapter implements AdapterInterface { readonly PUBLIC_GRANT_URI = "http://acs.amazonaws.com/groups/global/AllUsers"; protected bucket: string; protected options: BunAdapterOptions; protected s3: S3Client; protected resultMap: { Body: string; size: string; type: string; lastModified: string; }; protected metaOptions: string[]; constructor(options: BunAdapterOptions, prefix?: string); getBucket(): string; setBucket(bucket: string): void; getClient(): S3Client; protected normalizeResponse(response: any, path: string): Promise; listContents(directory: string, recursive?: boolean): Promise; write(path: string, contents: string | Buffer, config?: any): Promise; protected upload(path: string, contents: string | Buffer, config?: any): Promise; read(path: string): Promise; delete(path: string): Promise; has(path: string): Promise; readStream(path: string): Promise; getMetadata(path: string): Promise; getSize(path: string): Promise; getMimetype(path: string): Promise; getTimestamp(path: string): Promise; getVisibility(path: string): Promise; writeStream(path: string, resource: any, config?: any): Promise; update(path: string, contents: string, config?: any): Promise; updateStream(path: string, resource: any, config?: any): Promise; rename(path: string, newpath: string): Promise; copy(path: string, newpath: string): Promise; deleteDir(dirname: string): Promise; createDir(dirname: string, config?: any): Promise; setVisibility(path: string, visibility: 'public' | 'private'): Promise; protected doesDirectoryExist(location: string): Promise; applyPathPrefix(path: any): any; protected getOptionsFromConfig(config: any): any; } export {};