/**
 * @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