import type { Uint8ArrayLike } from "@tai-kun/surrealdb/types";
import type { AllocatedMemoryBlock } from "./_memory";
export interface WriterOptions {
    readonly maxDepth?: number | undefined;
}
export declare class Writer {
    readonly maxDepth: number;
    constructor(memory: AllocatedMemoryBlock, options?: WriterOptions | undefined);
    data: Uint8Array;
    view: DataView;
    depth: number;
    total: number;
    offset: number;
    protected chunks: [Uint8Array, ...Uint8Array[]];
    protected readonly memory: AllocatedMemoryBlock;
    protected datacopy(): Uint8Array;
    protected dataref(): Uint8Array;
    claim(size: number): void;
    output(): Uint8Array;
    writeBytes(value: Uint8ArrayLike): void;
    writeUint8(value: number): void;
    writeUint16(value: number): void;
    writeUint32(value: number): void;
    writeBigUint64(value: bigint): void;
    writeFloat32(value: number): void;
    writeFloat64(value: number): void;
}
//# sourceMappingURL=writer.d.ts.map