/** A Function that extracts tagged values. */ declare type TaggedValueFunction = (value: any, tag: number) => TaggedValue; /** A function that extracts simple values. */ declare type SimpleValueFunction = (value: any) => SimpleValue; /** Convenience class for structuring a tagged value. */ export declare class TaggedValue { value: any; tag: number; constructor(value: any, tag: number); } /** Convenience class for structuring a simple value. */ export declare class SimpleValue { value: any; constructor(value: any); } export declare function decode(data: ArrayBuffer | SharedArrayBuffer, tagger?: TaggedValueFunction, simpleValue?: SimpleValueFunction): T; export declare function encode(value: T): ArrayBuffer; export {};