import { CClass, Unarchiver } from "../archiver"; export declare abstract class KnownArchivedObject { static archivedName: string; static consumeEnd: boolean; static initFromUnarchiver(unarchiver: Unarchiver, archivedClass: CClass): KnownArchivedObject; } export declare type KnownArchivedObjectDerived = { new (): KnownArchivedObject; } & typeof KnownArchivedObject; export declare const archivedClassesByName: Map; export declare function archivedClass(archivedName: string, consumeEnd?: boolean): (target: KnownArchivedObjectDerived) => void; export declare abstract class KnownStruct { static structName: string; static fieldEncodings: string[]; static encoding: string; protected constructor(fields: any[]); } export declare type KnownStructDerived = { new (fields: any[]): KnownStruct; } & typeof KnownStruct; export declare const structClassesByEncoding: Map; export declare function structClass(structName: string, fieldEncodings: string[]): (target: KnownStructDerived) => void;