import type { Readable } from 'node:stream';
import type { AppendResult, DownloadOptions, NFSClient, UploadOptions, UploadResult } from '../common/typing.ts';
export declare class NFSClientAdapter implements NFSClient {
    private logger;
    private config;
    private _client;
    get client(): any;
    url?(key: string): string;
    protected init(): Promise<void>;
    appendBytes(bytes: Uint8Array, options: UploadOptions): Promise<AppendResult>;
    createDownloadStream(key: string): Promise<Readable | undefined>;
    readBytes(key: string): Promise<Uint8Array | undefined>;
    remove(key: string): Promise<void>;
    upload(filePath: string, options: UploadOptions): Promise<UploadResult>;
    uploadBytes(bytes: Uint8Array, options: UploadOptions): Promise<UploadResult>;
    download(key: string, filePath: string, options: DownloadOptions): Promise<void>;
}
