import type { Broadcast } from "../broadcast"; import * as Path from "../path"; import { type Stream } from "../stream"; import { type AnnounceInterest } from "./announce"; import type { Origin } from "./origin"; import { type Subscribe } from "./subscribe"; import { Version } from "./version"; /** * Handles publishing broadcasts and managing their lifecycle. * * @internal */ export declare class Publisher { #private; readonly version: Version; readonly origin: Origin; /** * Creates a new Publisher instance. * @param quic - The WebTransport session to use * @param version - Negotiated protocol version * @param origin - Origin id shared with the Subscriber * * @internal */ constructor(quic: WebTransport, version: Version, origin: Origin); /** * Publishes a broadcast with any associated tracks. * @param name - The broadcast to publish */ publish(path: Path.Valid, broadcast: Broadcast): void; /** * Handles an announce interest message. * @param msg - The announce interest message * @param stream - The stream to write announcements to * * @internal */ runAnnounce(msg: AnnounceInterest, stream: Stream): Promise; /** * Handles a subscribe message. * @param msg - The subscribe message * @param stream - The stream to write track data to * * @internal */ runSubscribe(msg: Subscribe, stream: Stream): Promise; /** * Handles a probe stream by periodically reporting estimated bitrate. * @param stream - The probe bidi stream * * @internal */ runProbe(stream: Stream): Promise; close(): void; } //# sourceMappingURL=publisher.d.ts.map