export interface FilterRGBA {
    (r: number, g: number, b: number, a: number): boolean;
}
export declare class Particle {
    x: number;
    y: number;
    r: number;
    c: number[];
    static from(imageData: ImageData, gap?: number, radius?: number, f?: FilterRGBA): Particle[];
    static create(x: number, y: number, r?: number, c?: number[]): Particle;
    static copyWithin(source: Particle[], start?: number, end?: number): Particle[];
    get nextX(): number;
    get nextY(): number;
    get preX(): number;
    get preY(): number;
    get arrived(): boolean;
    get color(): string;
    private _nextX;
    private _nextY;
    private _preX;
    private _preY;
    constructor(x: number, y: number, r: number, c: number[]);
    clone(): Particle;
    updateNext(x: number, y: number, r?: number, c?: number[]): void;
    update(x?: number, y?: number): void;
}
