/** * @license * Copyright 2022-2026 Matter.js Authors * SPDX-License-Identifier: Apache-2.0 */ import { ServerAddressUdp } from "#net/ServerAddress.js"; import { ServerAddressSet } from "#net/ServerAddressSet.js"; import { AsyncObservable } from "#util/Observable.js"; import { DnssdName } from "./DnssdName.js"; import { DnssdNames } from "./DnssdNames.js"; import { IpServiceStatus } from "./IpServiceStatus.js"; /** * A service addressable by IP that updates as {@link DnssdNames} change. */ export declare class IpService { #private; constructor(name: string, via: string, names: DnssdNames); /** * The DNS-SD name. */ get name(): DnssdName; /** * Other DNS-SD names. */ get names(): DnssdNames; /** * Identifier used for logging. */ get via(): string; /** * Status details of the service. */ get status(): IpServiceStatus; /** * Release resources. */ close(): Promise; /** * Known addresses. */ get addresses(): ServerAddressSet; /** * Values from TXT records. */ get parameters(): Map; /** * Emits when the service changes. */ get changed(): AsyncObservable<[], void>; map(fn: (addr: ServerAddressUdp) => T): T[]; /** * Stream address updates, starting with initial set of addresses. * * Outputs addresses in priority order so the stream may be used directly for establishing new connections. * * If no addresses are present, triggers discovery using standard MDNS backoff schedule. */ addressChanges({ abort, order, }?: { abort?: AbortSignal; order?: ServerAddressSet.Comparator; ipv4?: boolean; }): AsyncGenerator<{ kind: "add" | "delete"; address: ServerAddressUdp; }>; } export declare namespace IpService { interface AddressChange { kind: "add" | "delete"; address: ServerAddressUdp; } } //# sourceMappingURL=IpService.d.ts.map