import { Readable } from 'stream';
export interface WriteOptions {
    contentType?: string;
    region?: string;
}
export interface CopyOptions {
    contentType?: string;
    overwrite?: boolean;
    region?: string;
}
export interface UrlOptions {
    expiresIn?: number;
    region?: string;
}
export interface ReadOptions {
    region?: string;
}
export interface DeleteOptions {
    region?: string;
}
export interface ExistsOptions {
    region?: string;
}
export interface IFileService {
    read(path: string, options?: ReadOptions): Promise<Buffer>;
    readStream(path: string, options?: ReadOptions): Promise<Readable>;
    write(path: string, data: Buffer | string, options?: WriteOptions): Promise<string>;
    writeStream(path: string, stream: Readable, options?: WriteOptions): Promise<string>;
    delete(path: string, options?: DeleteOptions): Promise<void>;
    exists(path: string, options?: ExistsOptions): Promise<boolean>;
    copy(sourcePath: string, destinationPath: string, options?: CopyOptions): Promise<void>;
    getUrl(path: string, options?: UrlOptions): Promise<string>;
}
export declare const FILE_SERVICE: unique symbol;
//# sourceMappingURL=file-service.interface.d.ts.map