import { Data } from '../classes/Data.js'; import { Decoder } from '../classes/Decoder.js'; import { EncodableObject, Encodeable } from '../classes/Encodeable.js'; import { EncodeContext } from '../classes/EncodeContext.js'; /** * When you need to store data for a long period, a VersionBox can be very usefull. It saves the version of the data in it's encoding. * During decoding, it reads the version and continues decoding the data using the provided version instead of the version in the context. */ export declare class VersionBox implements Encodeable { data: T; constructor(data: T); encode(context: EncodeContext): { data: import("../classes/Encodeable.js").PlainObject; version: number; }; } export declare class VersionBoxDecoder implements Decoder> { decoder: Decoder; constructor(decoder: Decoder); decode(data: Data): VersionBox; } //# sourceMappingURL=VersionBox.d.ts.map