import { type Container, type RecursivePartial } from "@tsparticles/engine";
import type { IConfettiOptions } from "./IConfettiOptions.js";
export type ConfettiFirstParam = string | RecursivePartial<IConfettiOptions>;
declare global {
    interface Window {
        confetti: ConfettiFunc & {
            create: (canvas: HTMLCanvasElement, options: RecursivePartial<IConfettiOptions>) => Promise<ConfettiFunc>;
            init: () => Promise<void>;
            version: string;
        };
    }
}
export interface ConfettiParams {
    canvas?: HTMLCanvasElement;
    id: string;
    options: RecursivePartial<IConfettiOptions>;
}
type ConfettiFunc = (idOrOptions: ConfettiFirstParam, confettiOptions?: RecursivePartial<IConfettiOptions>) => Promise<Container | undefined>;
export declare function confetti(idOrOptions: ConfettiFirstParam, confettiOptions?: RecursivePartial<IConfettiOptions>): Promise<Container | undefined>;
export declare namespace confetti {
    var create: (canvas: HTMLCanvasElement, options: RecursivePartial<IConfettiOptions>) => Promise<ConfettiFunc>;
    var init: () => Promise<void>;
    var version: string;
}
export {};
