/// export declare type EncodeFunc = (input: any) => Buffer; export declare type DecodeFunc = (input: Buffer | Uint8Array | number[]) => Buffer; export interface Codec { etype?: number; clazz?: new (...args: any[]) => T; pack: (t: T, encode: EncodeFunc) => Buffer | Uint8Array; unpack: (data: Buffer | Uint8Array | string, decode: DecodeFunc) => T; } export interface Framer { register(codecs: Array>): any; encode(input: any): Buffer; decode(input: Buffer | Uint8Array | number[]): any; }