import type * as Moq from "@moq/net"; import type { Config } from "./producer"; /** * Consumes a JSON value from a track, reconstructing it from snapshots and deltas. * * Reads each group's snapshot (frame 0) and applies the following frames as merge patches. A live * consumer yields each update as it arrives; a consumer that has fallen behind (or just joined) * collapses the buffered backlog and yields only the latest value. See {@link next}. */ export declare class Consumer { #private; constructor(track: Moq.Track.Subscriber, config?: Config); /** * Get the next reconstructed value, or `undefined` once the track ends. * * Applies every frame already buffered in the group but yields only the latest reconstructed * value: the intermediate reconstructions are stale, so a late joiner (or any consumer that has * fallen behind) catches up to the head in one step instead of replaying every superseded state. * Frames are still decoded in order (the DEFLATE window and merge patches are sequential); only * the per-frame yield is skipped. */ next(): Promise; [Symbol.asyncIterator](): AsyncIterator; } //# sourceMappingURL=consumer.d.ts.map