import { Bytes } from '../bytes.js'; import { ISyncWritable } from '../types.js'; import { IFrameDecoder, IFrameEncoder } from './types.js'; /** options for {@link DelimiterCodec} */ export interface DelimiterCodecOptions { /** * Strategy for handling delimiter. * - `keep` - delimiter is kept at the end of each frame * - `discard` - delimiter is discarded * * Ignored for encoding (delimiter is always appended after the frame) * * @default 'discard' */ strategy?: 'keep' | 'discard'; } /** a simple frame codec that uses a delimiter to separate frames */ export declare class DelimiterCodec implements IFrameDecoder, IFrameEncoder { #private; readonly delimiter: Uint8Array; readonly options?: DelimiterCodecOptions | undefined; /** * @param delimiter delimiter to use * @param options options */ constructor(delimiter: Uint8Array, options?: DelimiterCodecOptions | undefined); decode(buf: Bytes, eof: boolean): Uint8Array | null; encode(data: Uint8Array, into: ISyncWritable): void; reset(): void; }