import { EventEmitter } from 'events'; import type * as opts from './types/options'; import type { IFileHandle, IReadStream, IWriteStream, IStats, TData, TDataOut, TMode, TTime } from './types/misc'; import type { FsCallbackApi } from './types'; export declare class FileHandle extends EventEmitter implements IFileHandle { private fs; private refs; private closePromise; private closeResolve?; private closeReject?; private position; private readableWebStreamLocked; fd: number; constructor(fs: FsCallbackApi, fd: number); getAsyncId(): number; appendFile(data: TData, options?: opts.IAppendFileOptions | string): Promise; chmod(mode: TMode): Promise; chown(uid: number, gid: number): Promise; close(): Promise; datasync(): Promise; createReadStream(options: opts.IFileHandleReadStreamOptions): IReadStream; createWriteStream(options: opts.IFileHandleWriteStreamOptions): IWriteStream; readableWebStream(options?: opts.IReadableWebStreamOptions): ReadableStream; read(buffer: Buffer | Uint8Array, offset: number, length: number, position?: number | null): Promise; readv(buffers: ArrayBufferView[], position?: number | null | undefined): Promise; readFile(options?: opts.IReadFileOptions | string): Promise; stat(options?: opts.IFStatOptions): Promise; sync(): Promise; truncate(len?: number): Promise; utimes(atime: TTime, mtime: TTime): Promise; write(buffer: Buffer | Uint8Array, offset?: number, length?: number, position?: number | null): Promise; writev(buffers: ArrayBufferView[], position?: number | null | undefined): Promise; writeFile(data: TData, options?: opts.IWriteFileOptions): Promise; private ref; private unref; } export interface TFileHandleReadResult { bytesRead: number; buffer: Buffer | Uint8Array; } export interface TFileHandleWriteResult { bytesWritten: number; buffer: Buffer | Uint8Array; } export interface TFileHandleReadvResult { bytesRead: number; buffers: ArrayBufferView[]; } export interface TFileHandleWritevResult { bytesWritten: number; buffers: ArrayBufferView[]; }