/** Bound visual density by the visible scene, even if a preset requests thousands of flakes. */
export declare function particleBudget(requested: number, area: number, coarse: boolean, adaptive: boolean): number;
/** Respond promptly to sustained slow frames, recover slowly to avoid quality oscillation. */
export declare class FrameBudget {
    private slow;
    private recovery;
    private work;
    observe(work: number, elapsed: number, target: number, quality: number): number;
}
//# sourceMappingURL=Budget.d.ts.map