/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { Endpoint } from "#endpoint/Endpoint.js";
import { Diagnostic, Observable } from "@matter/general";
import { PeerAddress, Val } from "@matter/protocol";
import { AttributeId, ClusterId } from "@matter/types";
import { Thermostat } from "@matter/types/clusters/thermostat";
/**
 * Represents the state of an ongoing atomic write operation.
 *
 * TODO: Move out of thermostat behavior into a more generic behavior handler once used by other clusters too. Then we
 *  also need to adjust how it is handled.
 */
export declare class AtomicWriteState {
    #private;
    [Diagnostic.value]: Record<string, unknown>;
    readonly peerAddress: PeerAddress;
    readonly endpoint: Endpoint;
    readonly clusterId: ClusterId;
    readonly attributeRequests: Thermostat.AtomicRequest["attributeRequests"];
    readonly attributeNames: Map<AttributeId, string>;
    readonly pendingAttributeValues: Val.Struct;
    readonly timeout: number;
    readonly initialValues: Val.Struct;
    readonly closed: Observable<[void], void>;
    constructor(peerAddress: PeerAddress, endpoint: Endpoint, cluster: ClusterId, attributeRequests: Thermostat.AtomicRequest["attributeRequests"], timeout: number, attributeNames: Map<AttributeId, string>, initialValues: Val.Struct);
    start(): void;
    close(): void;
}
//# sourceMappingURL=AtomicWriteState.d.ts.map