import type { Memory } from './memory.js'; import { type Type, type Value } from './types.js'; export interface PointerJSON { typename: string; address: number; } /** * A pointer */ export declare class Pointer = Type> { #private; type: T; readonly memory: Memory; static readonly name = "Pointer"; static size: number; static get(this: void, buffer: ArrayBufferLike, offset: number): Pointer; static set(this: void, buffer: ArrayBufferLike, offset: number, value: Pointer): void; constructor(type: T, value: number, memory?: Memory); toString(): string; toJSON(): PointerJSON; valueOf(): number; [Symbol.toPrimitive](): number; set(newAddress: number | Pointer): this; add(amount: number): this; /** * Cast the pointer to a different type. */ as(type: C): Pointer; deref(): Value; }