/** * @license * Copyright 2022-2026 Matter.js Authors * SPDX-License-Identifier: Apache-2.0 */ import { Endpoint } from "#endpoint/Endpoint.js"; import type { ClientNode } from "#node/ClientNode.js"; import { Duration } from "@matter/general"; import { Fabric, PeerAddress } from "@matter/protocol"; import { FabricIndex, NodeId } from "@matter/types"; import { OtaSoftwareUpdateRequestor } from "@matter/types/clusters/ota-software-update-requestor"; export declare class OtaAnnouncements { #private; constructor(endpoint: Endpoint, ownFabric: Fabric); /** * Set the interval to a time value, or to `Instant` to disable announcements */ set interval(interval: Duration | undefined); /** * Determine if we can request an update for the given node and return node meta-data needed for the process. * The Node needs to be commissioned (have a peer address), being not disabled, and having an active subscription * (to not work with outdated data). * When a node is applicable for updates, it also subscribes to softwareVersion changes to be able to react */ peerApplicableForUpdate(peer: ClientNode): { otaEndpoint: Endpoint; peerAddress: { readonly fabricIndex: FabricIndex; readonly nodeId: NodeId; }; } | undefined; /** Announce ourselves as OTA Provider to the given node's endpoint */ announceOtaProvider(endpoint: Endpoint, peerAddress: PeerAddress, announcementReason?: OtaSoftwareUpdateRequestor.AnnouncementReason): Promise; close(): Promise; } //# sourceMappingURL=OtaAnnouncements.d.ts.map