import { type RecursivePartial } from "@tsparticles/engine/lazy";
import type { IParticlesOptions } from "./IParticlesOptions.js";
import type { ParticlesFunc } from "./types.js";
import type { ParticlesInstance } from "./ParticlesInstance.js";
declare global {
    var particles: ParticlesFunc & {
        create: (canvas: HTMLCanvasElement, options: RecursivePartial<IParticlesOptions>) => Promise<ParticlesInstance | undefined>;
        init: () => Promise<void>;
        version: string;
    };
}
export declare function particles(idOrOptions?: string | RecursivePartial<IParticlesOptions>, sourceOptions?: RecursivePartial<IParticlesOptions>): Promise<ParticlesInstance | undefined>;
export declare namespace particles {
    var create: (canvas: HTMLCanvasElement, options?: RecursivePartial<IParticlesOptions>) => Promise<ParticlesInstance | undefined>;
    var init: () => Promise<void>;
    var version: string;
}
