import * as binaryen from "./wasm-encoder.js"; export interface InternedString { /** Byte offset in linear memory (points to the 4-byte length header) */ offset: number; /** Byte length (UTF-8) of the string data (NOT including the 4-byte header) */ length: number; } export declare class StringTable { private strings; private nextOffset; /** * @param baseOffset Starting byte offset in linear memory (default 0). * Reserve space for other data before strings if needed. */ constructor(baseOffset?: number); /** * Intern a string. Returns the (offset, length) pair. * Deduplicates: identical strings share the same memory. * The offset points to the 4-byte length header; data starts at offset+4. */ intern(str: string): InternedString; /** * Total bytes used by all interned strings (including length headers). */ get totalBytes(): number; /** * Number of unique strings interned. */ get size(): number; /** * Produce binaryen MemorySegment[] for setMemory. * Each string gets its own segment: [len:i32][data:bytes]. */ toMemorySegments(mod: binaryen.Module): binaryen.MemorySegment[]; } //# sourceMappingURL=string-table.d.ts.map