import { type Container, type ICoordinates, type IDelta, type IDimension, type IHsl, type RecursivePartial } from "tsparticles-engine";
import { Emitter } from "./Options/Classes/Emitter";
import type { Emitters } from "./Emitters";
import type { EmittersEngine } from "./EmittersEngine";
import type { IEmitter } from "./Options/Interfaces/IEmitter";
import type { IEmitterSize } from "./Options/Interfaces/IEmitterSize";
export declare class EmitterInstance {
    private readonly emitters;
    private readonly container;
    fill: boolean;
    readonly name?: string;
    options: Emitter;
    position?: ICoordinates;
    size: IEmitterSize;
    spawnColor?: IHsl;
    private _currentDuration;
    private _currentEmitDelay;
    private _currentSpawnDelay;
    private _duration?;
    private _emitDelay?;
    private readonly _engine;
    private _firstSpawn;
    private readonly _immortal;
    private readonly _initialPosition?;
    private _lifeCount;
    private readonly _particlesOptions;
    private _paused;
    private readonly _shape?;
    private _spawnDelay?;
    private _startParticlesAdded;
    constructor(engine: EmittersEngine, emitters: Emitters, container: Container, options: RecursivePartial<IEmitter>, position?: ICoordinates);
    externalPause(): void;
    externalPlay(): void;
    getPosition(): ICoordinates | undefined;
    getSize(): IDimension;
    pause(): void;
    play(): void;
    resize(): void;
    update(delta: IDelta): void;
    private readonly _calcPosition;
    private readonly _destroy;
    private readonly _emit;
    private readonly _emitParticles;
    private readonly _prepareToDie;
    private readonly _setColorAnimation;
}
