/// <reference types="node" />
import { Readable, ReadableOptions } from 'stream';
export declare type OpenFileCallback = (error: Error, fileHandle: any) => void;
export declare type ReadFileCallback = (error: Error, fileData: Buffer) => void;
export declare function openFileSync(storageHandle: any, filePath: string): any;
export declare function openFile(storageHandle: any, filePath: string): Promise<any>;
export declare function openFile(storageHandle: any, filePath: string, callback: OpenFileCallback): null;
export declare function readSync(fileHandle: any): Buffer;
export declare function read(fileHandle: any): Promise<Buffer>;
export declare function read(fileHandle: any, callback: ReadFileCallback): null;
export declare function readFileSync(storageHandle: any, filePath: string): Buffer;
export declare function readFile(storageHandle: any, filePath: string): Promise<Buffer>;
export declare function readFile(storageHandle: any, filePath: string, callback: ReadFileCallback): null;
export declare class FileReadable extends Readable {
    path: string | undefined;
    storageHandle: any;
    fileHandle: any;
    constructor(options: ReadableOptions);
    _read(size: number): void;
    _destroy(error: Error, callback: (error?: Error) => void): void;
    private openFile(callback);
    private closeFile();
    private getData(size);
    private error(error);
}
export declare function createReadStream(fileHandle: any, options?: ReadableOptions): Readable;
export declare function createReadStream(storageHandle: any, filePath: string, options?: ReadableOptions): Readable;
export declare function closeFile(fileHandle: any): void;
