import { TypedArray, TypedArrayConstructor, BigIntArray, BigIntArrayConstructor } from '../interfaces.js'; /** @ignore */ declare type DataValue = T extends TypedArray ? number : T extends BigIntArray ? WideValue : T; /** @ignore */ declare type WideValue = T extends BigIntArray ? bigint | Int32Array | Uint32Array : never; /** @ignore */ declare type ArrayCtor = T extends TypedArray ? TypedArrayConstructor : T extends BigIntArray ? BigIntArrayConstructor : any; /** @ignore */ export interface BufferBuilder> { readonly offset: number; } /** @ignore */ export declare class BufferBuilder> { constructor(buffer: T, stride?: number); buffer: T; length: number; readonly stride: number; readonly ArrayType: ArrayCtor; readonly BYTES_PER_ELEMENT: number; get byteLength(): number; get reservedLength(): number; get reservedByteLength(): number; set(index: number, value: TValue): this; append(value: TValue): this; reserve(extra: number): this; flush(length?: number): T; clear(): this; protected _resize(newLength: number): T; } /** @ignore */ export declare class DataBufferBuilder extends BufferBuilder { last(): number; get(index: number): number; set(index: number, value: number): this; } /** @ignore */ export declare class BitmapBufferBuilder extends DataBufferBuilder { constructor(data?: Uint8Array); numValid: number; get numInvalid(): number; get(idx: number): number; set(idx: number, val: number): this; clear(): this; } /** @ignore */ export declare class OffsetsBufferBuilder extends DataBufferBuilder { constructor(data?: Int32Array); append(value: number): this; set(index: number, value: number): this; flush(length?: number): Int32Array; } export {};