/** @public */ export type Encoder = (t: T) => Uint8Array; export type BufferEncoder = (t: T) => [number, (offset: number, buffer: ArrayBuffer) => void]; export declare function encode(enc: BufferEncoder): Encoder; export declare function contramapBufferEncoder(enc: BufferEncoder, f: (u: U) => Readonly): BufferEncoder; export declare function contramapBufferEncoders(encoders: { [K in keyof T]: BufferEncoder; }, toTuple: (input: R) => T): BufferEncoder; export declare function composeBufferEncoders(encoders: { [K in keyof T]: BufferEncoder; }): BufferEncoder; export declare const encVoid: [number, (offset: number, buffer: ArrayBuffer) => void];