export type Diff = { s?: [string, Encoded][]; r?: string[]; }; export type EncodedRef = number; export type EncodedDelta = { b: number; d: Diff; }; export type EncodedLit = { v: any; }; export type EncodedNested = { nd: Diff; }; export type Encoded = EncodedRef | EncodedDelta | EncodedLit | EncodedNested; export type CodecSnapshot = { v: 1; dict: any[]; maxSize: number; }; export declare class StructCodec { private dict; private index; private maxSize; constructor(opts?: { maxSize?: number; }); get size(): number; reset(): void; fork(): StructCodec; toJSON(): CodecSnapshot; static fromJSON(snap: CodecSnapshot): StructCodec; encode(value: any, basis?: any): Encoded; decode(encoded: Encoded): any; private decodeInner; private decodeSetValue; private computeDelta; private encodeNestedValue; private applyDiff; private findExact; private addToDict; private rebuildIndex; private estimateSize; } export type CompactedTree = { v: 1; dict: any[]; root: any; }; export declare function compactTree(value: any): CompactedTree; export declare function expandTree(data: any): any; //# sourceMappingURL=codec.d.ts.map