/// <reference types="node" />
import { Buffer, TranscodeEncoding } from 'buffer';
import { BigInt } from './bigInt';
export declare class SshDataReader {
    readonly buffer: Buffer;
    private static readonly mpintZero;
    position: number;
    constructor(buffer: Buffer);
    get available(): number;
    read(length: number): Buffer;
    readByte(): number;
    readBinary(): Buffer;
    readString(encoding: TranscodeEncoding): string;
    readList(encoding: TranscodeEncoding): string[];
    readBoolean(): boolean;
    readUInt32(): number;
    readUInt64(): number;
    readBigInt(): BigInt;
}
export declare class SshDataWriter {
    private buffer;
    position: number;
    constructor(buffer: Buffer);
    write(data: Buffer): void;
    writeByte(value: number): void;
    writeBinary(data: Buffer): void;
    writeString(value: string, encoding: TranscodeEncoding): void;
    writeList(value: string[], encoding: TranscodeEncoding): void;
    writeBoolean(value: boolean): void;
    writeUInt32(value: number): void;
    writeUInt64(value: number): void;
    writeBigInt(value: BigInt): void;
    writeRandom(length: number): void;
    skip(length: number): void;
    private ensureCapacity;
    toBuffer(): Buffer;
}
/**
 * Formats a byte buffer using the same format as OpenSSH,
 * useful for debugging and comparison in logs.
 */
export declare function formatBuffer(data: Buffer, name?: string, formatData?: boolean): string;
//# sourceMappingURL=sshData.d.ts.map