/** * @license * Copyright 2022-2026 Matter.js Authors * SPDX-License-Identifier: Apache-2.0 */ import { ClientStructure } from "#node/client/ClientStructure.js"; import type { ClientNode } from "#node/ClientNode.js"; import { WriteResult, type Val } from "@matter/protocol"; import { type EndpointNumber } from "@matter/types"; /** * Persistence handler for {@link ClientNodeStore}. * * A remote writer conveys updates to the remote node. This performs actual persistence for client nodes where the * local store is just a cache and the source of truth is on the remote device. * * Resolves with a status per attribute once the peer answered, including those declined locally because the peer's * cluster type cannot express them; when every attribute is declined locally, nothing is sent. Rejects when the peer * does not answer, as then nothing is known to have been applied. */ export interface RemoteWriter { (request: RemoteWriter.Request): Promise; } export declare function RemoteWriter(node: ClientNode, structure: ClientStructure): RemoteWriter; export declare namespace RemoteWriter { interface EndpointUpdateRequest { number: EndpointNumber; behaviorId: string; values: Val.Struct; } interface Request extends Array { } } //# sourceMappingURL=RemoteWriter.d.ts.map