import type { Disposable } from "@goldenratio/core-utils"; import type { Karlib } from "../karlib.js"; import type { EmitterConfig } from "./types.js"; export declare class Particle implements Disposable { private readonly kl; private readonly config; private readonly get_speed?; private readonly get_alpha?; private readonly get_color?; private readonly get_scale?; private readonly static_draw_texture_options?; private readonly animated_texture?; private readonly animated_draw_texture_options?; private readonly rot_cfg?; private readonly rot_static_cfg?; private readonly accel_cfg?; private age; private life; private pos; private direction; private rotation; private rot_speed; private rot_accel; private vel; private acc; private max_speed; private rotate_to_velocity; private use_accel_motion; constructor(kl: Karlib, config: EmitterConfig); /** * Called when particle is destroyed */ dispose(): void; /** * Called when particle is added to pool bag */ reset(): void; update_spawn_pos(x: number, y: number): void; update(delta: number): void; draw(): void; get is_alive(): boolean; seed_direction_from_angle(rad: number): void; private seed_rotation_from_behaviors; }