/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { BasicSet } from "#util/Set.js";
import { Environment } from "./Environment.js";
/**
 * A bundle of services that may be added to an {@link Environment} as a unit.
 *
 * This serves as an extension mechanism for matter.js.  Plugins may register for deployment into environments by adding
 * a factory to {@link default}.
 */
export declare class ServiceBundle extends BasicSet<ServiceBundle.Factory> {
    #private;
    constructor();
    /**
     * A default bundle for services that should generally deploy in all environments.
     */
    static get default(): ServiceBundle;
    /**
     * Install the bundle into an {@link Environment}.
     *
     * This installs any services that currently comprise the bundle and will install any services added in the future
     * as well.
     */
    deploy(env: Environment): void;
}
export declare namespace ServiceBundle {
    /**
     * A factory function invoked when a bundle is deployed.
     */
    interface Factory {
        (env: Environment): void;
    }
}
//# sourceMappingURL=ServiceBundle.d.ts.map