/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import type { Val } from "@matter/protocol";
import type { ValueSupervisor } from "../../supervision/ValueSupervisor.js";
/**
 * Instrumentation points for the managed values used for {@link Behavior.state}.
 */
export declare namespace Instrumentation {
    /**
     * A constructor for the generated class associated with a {@link Val.Struct}.
     */
    type StructFactory = new (ref: Val.Reference<Val.Struct>, session: ValueSupervisor.Session) => Val.Struct;
    /**
     * Instrument the class generated for Matter structs.
     */
    function instrumentStruct(factory: StructFactory): StructFactory;
    /**
     * Creation function for generating proxies for Matter lists.
     */
    type ListFactory = (handlers: ProxyHandler<Val.List>, target: Val.List) => Val.List;
    /**
     * Instrument Matter list creation.
     */
    function instrumentList(factory: ListFactory): ListFactory;
}
//# sourceMappingURL=Instrumentation.d.ts.map