import { Signal } from "@moq/signals"; import { Track } from "./track"; /** A track a subscriber asked for, along with its requested delivery priority. */ export interface TrackRequest { track: Track; priority: number; } /** Reactive backing state for a {@link Broadcast}: requested tracks plus a closed flag. */ export declare class BroadcastState { requested: Signal; closed: Signal; } /** * Handles writing and managing tracks in a broadcast. * * @public */ export declare class Broadcast { /** Reactive backing state. */ state: BroadcastState; /** Resolves with the abort error (or undefined) once closed. */ readonly closed: Promise; constructor(); /** * A track requested over the network. */ requested(): Promise; /** * Populates the provided track over the network. */ subscribe(name: string, priority: number): Track; /** * Closes the writer and all associated tracks. * * @param abort - If provided, throw this exception instead of returning undefined. */ close(abort?: Error): void; } //# sourceMappingURL=broadcast.d.ts.map