import type Stream from "./Stream"; declare type ExplicitAny = any; declare type AnyBicoder = Bicoder; declare type Meta = { fn: (...args: ExplicitAny[]) => AnyBicoder; args: ExplicitAny[]; }; export declare type BicoderInit = { write(stream: Stream, value: T): void; read(stream: Stream): T; test(value: unknown): boolean; meta?: Meta; }; export default class Bicoder { private init; private echo; meta?: Meta; constructor(init: BicoderInit); write(stream: Stream, value: T): void; read(stream: Stream): T; test(value: unknown): boolean; encode(value: T): Uint8Array; decode(buffer: Uint8Array): T; } export {}; //# sourceMappingURL=Bicoder.d.ts.map