/// import ISerializer, { InputOf, OutputOf, JSONOutputOf } from "./ISerializer"; declare type SerializersMap = { [key: string]: ISerializer; }; declare type TInput = { [key in keyof T]: InputOf; }; declare type TOutput = { [key in keyof T]: OutputOf; }; declare type TJSONOutput = { [key in keyof T]: JSONOutputOf; }; export declare class StructSerializer extends ISerializer, TOutput, TJSONOutput> { readonly serializers: Readonly; readonly keys: (keyof T)[]; constructor(serializers: T); toJSON(value: TInput): TJSONOutput; fromJSON(value: TJSONOutput): TOutput; toBuffer(value: TInput): Buffer; readFromBuffer(buffer: Buffer, offset?: number): { res: TOutput; newOffset: number; }; } export default function struct(serializers: T): StructSerializer; export {};