import p5 from "p5";
import { Initializer } from "../export-interfaces";
import { Avatar, Color } from "../export-types";
import { SimpleCamera } from "./simple-camera";
export declare type ParticleInitialParams = {
    vec?: p5.Vector;
    angle?: number;
    sprite?: Avatar;
    color?: Color;
    size?: number;
    lifetime?: number;
    simpleCamera: SimpleCamera;
    forceSpriteSize?: boolean;
};
export declare class Particle extends p5.Vector implements Initializer<ParticleInitialParams> {
    private vec;
    private acc;
    private angle;
    simpleCamera: SimpleCamera;
    sprite?: Avatar;
    color: Color;
    size: number;
    lifetimeRemain: number;
    private forceSpriteSize;
    private _lifetime;
    set lifetime(lifetime: number);
    get lifetime(): number;
    initial({ vec, ...params }: ParticleInitialParams): void;
    applyForce(force: p5.Vector): void;
    isDead(): boolean;
    update(): void;
    draw(): void;
    onDraw(_: Color): void;
}
//# sourceMappingURL=particle.d.ts.map