/** * @license * Copyright 2022-2026 Matter.js Authors * SPDX-License-Identifier: Apache-2.0 */ import { AttributeId, EntryIndex, FieldId } from "@matter/types"; import { BasePath } from "./BasePath.js"; export declare namespace AttributePath { /** * Attribute name or ID. */ type Address = AttributeId | string; /** * Field name or ID. */ type FieldAddress = FieldId | string; /** * Addresses a collection (struct or list) within an attribute. * * @see {@link MatterSpecification.v161.Core} § 8.9.2.2 */ type Nested = ({ field: FieldAddress; } | { entry: EntryIndex; })[]; /** * Addresses attribute data for read operations. Note that if you specify the attribute you must also specify the * cluster except for global attributes. * * @see {@link MatterSpecification.v161.Core} § 8.9.2.1 & 8.9.2.6 */ type Read = BasePath.Read & { attribute?: Address; subpath?: Nested; }; /** * Addresses attribute data for write operations. * * @see {@link MatterSpecification.v161.Core} § 8.9.2.1 & 8.9.2.7 */ type Write = BasePath.Write & { attribute: Address; subpath?: Nested; }; /** * Addresses a specific attribute. */ type Concrete = BasePath.Concrete & { attribute: Address; subpath?: Nested; }; } //# sourceMappingURL=AttributePath.d.ts.map