import { type Container, type IContainerPlugin, type IOptions, type IPlugin, type RecursivePartial } from "@tsparticles/engine";
import type { EmitterOptions, IEmitterOptions } from "./types.js";
import type { EmitterContainer } from "./EmitterContainer.js";
import type { EmittersInstancesManager } from "./EmittersInstancesManager.js";
export declare class EmittersPlugin implements IPlugin {
    #private;
    readonly id = "emitters";
    constructor(instancesManager: EmittersInstancesManager);
    getPlugin(container: EmitterContainer): Promise<IContainerPlugin>;
    loadOptions(_container: Container, options: EmitterOptions, source?: RecursivePartial<IEmitterOptions>): void;
    needsPlugin(options?: RecursivePartial<IOptions & IEmitterOptions>): boolean;
}
