/** * @license * Copyright 2022-2026 Matter.js Authors * SPDX-License-Identifier: Apache-2.0 */ import { Timestamp } from "#time/Timestamp.js"; import type { IpService } from "./IpService.js"; /** * Tracks status of an {@link IpService}, logs state changes and manages service discovery. */ export declare class IpServiceStatus { #private; constructor(service: IpService); close(): Promise; /** * Is the service actively connecting? * * This is true so long as a promise passed to {@link connecting} is unresolved. */ get isConnecting(): boolean; /** * Is the service currently reachable? * * This value is writable. If you set {@link isReachable} to false and {@link isConnecting} is true, the service * enters discovery mode and begins active solicitation so long as neither condition changes. * * The service sets {@link isReachable} to true automatically if: * * - It discovers a new (previously unknown) address, or * * - The input promise to {@link connecting} resolves to true * * The service sets {@link isReachable} to false automatically if the input promise to {@link connecting} resolves * to false. */ get isReachable(): boolean; /** * Are we actively performing MDNS discovery for the service? */ get isResolving(): boolean; set isReachable(isReachable: boolean); get lastReceiptAt(): Timestamp | undefined; set lastReceiptAt(time: Timestamp); get connectionInitiatedAt(): Timestamp | undefined; /** * Register a new connection attempt. * * If {@link result} resolves as true the service is marked as reachable. If {@link result} resolves as false * reachability is not modified. * * If {@link result} throws an error other than {@link AbortedError}, the service is marked as unreachable and if * the error logged. * * {@link isConnecting} will be true until {@link result} resolves. */ connecting(result: PromiseLike): void; } //# sourceMappingURL=IpServiceStatus.d.ts.map