/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { Transaction } from "@matter/general";
import { Val } from "@matter/protocol";
import { EndpointNumber } from "@matter/types";
import type { ClientNodeStore } from "./ClientNodeStore.js";
/**
 * A transaction participant that persists changes to a remote node.
 *
 * There is one of these for node/transaction pair.  All attributes in a transaction commit with a single interaction.
 */
export declare class RemoteWriteParticipant implements Transaction.Participant {
    #private;
    /**
     * There is one participant for each transaction/client node pair.  We therefore use the store as the role.
     */
    get role(): ClientNodeStore;
    /**
     * Add an attribute update to the write request.
     */
    set(endpointNumber: EndpointNumber, behaviorId: string, values: Val.Struct): void;
    commit2(): Promise<void>;
    rollback(): void;
    toString(): string;
    constructor(store: ClientNodeStore);
}
//# sourceMappingURL=RemoteWriteParticipant.d.ts.map