import { Signal } from "@moq/signals"; import type { Announced } from "../announced"; import { type Bandwidth } from "../bandwidth"; import type { Broadcast } from "../broadcast"; import type { Established } from "../connection/established"; import * as Path from "../path"; import { Stream } from "../stream"; import type * as Time from "../time"; import { type Origin } from "./origin"; import { Version } from "./version"; /** * Represents a connection to a MoQ server. * * @public */ export declare class Connection implements Established { #private; readonly url: URL; readonly version: string; /** Estimated send bitrate from the congestion controller. */ readonly sendBandwidth?: Bandwidth; /** Estimated receive bitrate from PROBE (moq-lite-03+ only). */ readonly recvBandwidth?: Bandwidth; /** RTT in milliseconds from PROBE (moq-lite-04+ only). */ readonly rtt?: Signal; /** Random per-connection origin id. Shared by Publisher (for outbound hop * chains) and Subscriber (available for optional self-filtering on announces). */ readonly origin: Origin; /** * Creates a new Connection instance. * @param url - The URL of the connection * @param quic - The WebTransport session * @param session - The session stream * * @internal */ constructor(url: URL, quic: WebTransport, version: Version, session?: Stream); /** * Closes the connection. */ close(): void; publish(path: Path.Valid, broadcast: Broadcast): void; announced(prefix?: Path.Valid): Announced; consume(broadcast: Path.Valid): Broadcast; get closed(): Promise; } //# sourceMappingURL=connection.d.ts.map