import { BaseStorage } from './baseStorage';
import { Provider, S3Options } from '../types/options';
import { IFile } from '../types/storage';
export declare class S3BaseStorage extends BaseStorage {
    private readonly storage;
    private readonly bucket;
    constructor({ provider, options, }: {
        provider: Provider;
        options: S3Options;
    });
    createFolder(path: string): Promise<IFile>;
    deleteFileOrFolder(fileId: string): Promise<boolean>;
    getFileOrFolder(fileId: string): Promise<IFile>;
    moveFileOrFolder(fileId: string, newPath: string): Promise<IFile>;
    putFile(path: string, data: Buffer): Promise<IFile>;
    readFile(fileId: string): Promise<NodeJS.ReadableStream>;
    readFolder(folderId: string): Promise<IFile[]>;
    renameFileOrFolder(fileId: string, newName: string): Promise<IFile>;
    getSignedUrl(fileId: string, expires?: number): Promise<string>;
    readRootFolder(): Promise<IFile[]>;
    streamFile(fileId: string, range: string): Promise<{
        stream: import("stream").Readable;
        headers: import("../types/storage").Header206;
    }>;
    private parseFile;
}
