export declare const pointerSize: number;
export declare function defineEnum(mapping: Record<string, number>, base?: string): {
    __type: string;
    type: string;
    enum: Record<string, number>;
    to(value: string | number): number;
    from(value: number | bigint): string;
};
export declare function objectPtr(): {
    __type: string;
};
export declare function packObjectArray(values: Array<{
    ptr?: number | bigint | null;
} | null>): DataView;
export declare function allocStruct(structDef: any, options?: {
    lengths?: Record<string, number>;
}): {
    buffer: ArrayBuffer;
    view: DataView;
    subBuffers?: Record<string, ArrayBuffer>;
};
export declare function defineStruct(fields: any[], structDefOptions?: any): {
    __type: string;
    size: number;
    align: number;
    layoutByName: Map<any, any>;
    arrayFields: Map<string, any>;
    pack(value: any, options?: any): ArrayBuffer;
    packInto(value: any, view: DataView, baseOffset: number, options?: any): void;
    unpack(buffer: ArrayBuffer): any;
    packList(values: any[], options?: any): ArrayBuffer;
    unpackList(buffer: ArrayBuffer, count: number): any[];
};
