/** * @license * Copyright 2022-2026 Matter.js Authors * SPDX-License-Identifier: Apache-2.0 */ import type { Val } from "@matter/protocol"; import type { ValReference } from "./ValReference.js"; /** * The slot a member occupies in a container keyed by {@link ValReference.primaryKey}. * * The persisted key set ({@link RootSupervisor.persistentKeys}) and a datasource container's own keys must both * derive from this function — if they diverge, attributes silently stop persisting. */ export declare function memberKeyFor(primaryKey: ValReference.PrimaryKey, name: string | number, id: number | undefined): string | number; /** * The key under the other keying convention, if distinct from {@link memberKeyFor}'s — whether a reader may fall * back to it is the reader's policy. */ export declare function memberFallbackKeyFor(primaryKey: ValReference.PrimaryKey, name: string | number, id: number | undefined): string | number | undefined; /** * Read a member from container at key, falling back to fallbackKey; a caller passes `undefined` for fallbackKey * when it must not tolerate the fallback slot. */ export declare function memberValueOf(container: Val.Struct, key: string | number, fallbackKey: string | number | undefined): Val | undefined; //# sourceMappingURL=MemberKeys.d.ts.map