/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import type { Agent } from "#endpoint/Agent.js";
import type { ServerNode } from "#node/ServerNode.js";
import type { FabricIndex } from "@matter/types";
/**
 * Sanitize Fabric scoped data and events to a list of allowed fabrics.
 * The logic walks through all endpoints and removes relevant fabric-scoped attribute values for the relevant fabric
 * from the state. After all state changes are processed, it removes all occurrences of fabric-scoped events.
 */
export declare function limitNodeDataToAllowedFabrics(node: ServerNode, allowedIndices: FabricIndex[]): Promise<void>;
/**
 * Sanitize fabric-scoped attributes for a single endpoint while it is still initializing.
 *
 * Invoked from {@link EndpointInitializer.behaviorsInitialized}, which runs inside the endpoint's construction
 * context. The endpoint is not yet active, so {@link Endpoint.setStateOf} (which opens a fresh action that asserts an
 * active endpoint) would throw. Instead we patch state through the supplied {@link Agent}, whose context is the
 * construction transaction that commits when initialization completes.
 */
export declare function limitEndpointAttributeDataToAllowedFabrics(agent: Agent, allowedIndices: FabricIndex[]): Promise<void>;
//# sourceMappingURL=FabricScopedDataHandler.d.ts.map