/** * @license * Copyright 2022-2026 Matter.js Authors * SPDX-License-Identifier: Apache-2.0 */ import { Schema } from "@matter/model"; import type { StateType } from "../state/StateType.js"; import { RootSupervisor } from "./RootSupervisor.js"; /** * Create a {@link RootSupervisor} for a {@link Behavior}. * * {@link Behavior} uses this internally for its {@link Behavior.supervisor}. * * BehaviorSupervisor derives operational schema from a "logical" schema. If the {@link Behavior} implementation has a * static schema property this defines the logical schema. Otherwise the logical schema is {@link Schema.empty}. * * This function loads the logical schema and mutates as required. This includes addition of fields for any * programmatic extensions of state. This allows schema-driven logic to process state fields added in pure JS. * * The {@link RootSupervisor} is then constructed from the mutated logical schema. */ export declare function BehaviorSupervisor(options: BehaviorSupervisor.Options): RootSupervisor; export declare namespace BehaviorSupervisor { interface Options { id: string; schema?: Schema; State: StateType; } } //# sourceMappingURL=BehaviorSupervisor.d.ts.map