/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { Write } from "#action/request/Write.js";
import { Status, type AttributeId, type AttributePath, type ClusterId, type EndpointNumber, type NodeId } from "@matter/types";
export type WriteResult<T extends Write = Write> = Promise<T extends {
    suppressResponse: true;
} ? void : WriteResult.AttributeStatus[]>;
export declare namespace WriteResult {
    interface ConcreteAttributePath extends AttributePath {
        nodeId?: NodeId;
        endpointId: EndpointNumber;
        clusterId: ClusterId;
        attributeId: AttributeId;
        listIndex?: number | null;
    }
    interface AttributeStatus {
        kind: "attr-status";
        path: ConcreteAttributePath;
        status: Status;
        clusterStatus?: number;
    }
    function assertSuccess(result: AttributeStatus[]): void;
}
//# sourceMappingURL=WriteResult.d.ts.map