///
import { Encodable } from "rsocket-types";
/**
* Commonly used subset of the allowed Node Buffer Encoder types.
*/
export interface Encoder {
byteLength: (value: Encodable) => number;
encode: (value: Encodable, buffer: Buffer, start: number, end: number) => number;
decode: (buffer: Buffer, start: number, end: number) => T;
}
/**
* The Encoders object specifies how values should be serialized/deserialized
* to/from binary.
*/
export interface Encoders {
data: Encoder;
dataMimeType: Encoder;
message: Encoder;
metadata: Encoder;
metadataMimeType: Encoder;
resumeToken: Encoder;
}
export const UTF8Encoder: Encoder;
export const BufferEncoder: Encoder;
/**
* Encode all values as UTF8 strings.
*/
export const Utf8Encoders: Encoders;
/**
* Encode all values as buffers.
*/
export const BufferEncoders: Encoders;