import * as Path from "../path"; import type { Reader, Writer } from "../stream"; import { Version } from "./version"; export declare class SubscribeUpdate { #private; priority: number; ordered: boolean; maxLatency: number; startGroup?: number; endGroup?: number; constructor(props: { priority: number; ordered?: boolean; maxLatency?: number; startGroup?: number; endGroup?: number; }); encode(w: Writer, version: Version): Promise; static decode(r: Reader, version: Version): Promise; static decodeMaybe(r: Reader, version: Version): Promise; } export declare class Subscribe { #private; id: bigint; broadcast: Path.Valid; track: string; priority: number; ordered: boolean; maxLatency: number; startGroup?: number; endGroup?: number; constructor(props: { id: bigint; broadcast: Path.Valid; track: string; priority: number; ordered?: boolean; maxLatency?: number; startGroup?: number; endGroup?: number; }); encode(w: Writer, version: Version): Promise; static decode(r: Reader, version: Version): Promise; } export declare class SubscribeOk { #private; priority: number; ordered: boolean; maxLatency: number; startGroup?: number; endGroup?: number; constructor({ priority, ordered, maxLatency, startGroup, endGroup, }: { priority?: number; ordered?: boolean; maxLatency?: number; startGroup?: number; endGroup?: number; }); encode(w: Writer, version: Version): Promise; static decode(r: Reader, version: Version): Promise; } export declare class SubscribeDrop { #private; start: number; end: number; error: number; constructor(props: { start: number; end: number; error: number; }); encode(w: Writer): Promise; static decode(r: Reader): Promise; } /** * A response message on the subscribe stream. * * In Draft03+, each response is prefixed with a type discriminator: * - 0x0 for SUBSCRIBE_OK * - 0x1 for SUBSCRIBE_DROP * * SUBSCRIBE_OK must be the first message on the response stream. */ export type SubscribeResponse = { ok: SubscribeOk; } | { drop: SubscribeDrop; }; export declare function encodeSubscribeResponse(w: Writer, resp: SubscribeResponse, version: Version): Promise; export declare function decodeSubscribeResponse(r: Reader, version: Version): Promise; //# sourceMappingURL=subscribe.d.ts.map