export declare const FrameType: { readonly HELLO: 1; readonly DATA: 2; readonly RESIZE: 3; readonly DETACHED: 4; readonly CONTROL: 5; readonly REPLY: 6; }; export type FrameTypeId = (typeof FrameType)[keyof typeof FrameType]; export declare const MAX_FRAME: number; export interface Frame { type: FrameTypeId; payload: Buffer; } export declare function encodeFrame(type: FrameTypeId, payload: Uint8Array | string): Buffer; export declare function encodeJsonFrame(type: FrameTypeId, value: unknown): Buffer; export declare function parseJsonPayload(frame: Frame): T; export declare class FrameDecoder { private chunks; private size; push(chunk: Buffer): Frame[]; private peek; private take; }