import { type Container, type ICoordinates, type IDelta, type IDimension, type IHsl, type RecursivePartial } from "@tsparticles/engine";
import { Emitter } from "./Options/Classes/Emitter.js";
import type { EmittersPluginManager } from "./EmittersEngine.js";
import type { IEmitter } from "./Options/Interfaces/IEmitter.js";
export declare class EmitterInstance {
    #private;
    fill: boolean;
    readonly name?: string;
    options: Emitter;
    position: ICoordinates;
    size: IDimension;
    spawnFillColor?: IHsl;
    spawnFillEnabled?: boolean;
    spawnFillOpacity?: number;
    spawnStrokeColor?: IHsl;
    spawnStrokeOpacity?: number;
    spawnStrokeWidth?: number;
    constructor(pluginManager: EmittersPluginManager, container: Container, removeCallback: (emitter: EmitterInstance) => void, options: Emitter | RecursivePartial<IEmitter>, position?: ICoordinates);
    externalPause(): void;
    externalPlay(): void;
    init(): Promise<void>;
    pause(): void;
    play(): void;
    resize(): void;
    update(delta: IDelta): void;
}
