import type { IMove } from "../../../Interfaces/Particles/Move/IMove";
import { Attract } from "./Attract";
import { MoveDirection, MoveDirectionAlt, OutMode, OutModeAlt } from "../../../../Enums";
import { Trail } from "./Trail";
import type { RangeValue, RecursivePartial } from "../../../../Types";
import { Path } from "./Path/Path";
import type { IOptionLoader } from "../../../Interfaces/IOptionLoader";
import { MoveAngle } from "./MoveAngle";
import { MoveGravity } from "./MoveGravity";
import { OutModes } from "./OutModes";
export declare class Move implements IMove, IOptionLoader<IMove> {
    get collisions(): boolean;
    set collisions(value: boolean);
    get bounce(): boolean;
    set bounce(value: boolean);
    get out_mode(): OutMode | keyof typeof OutMode | OutModeAlt;
    set out_mode(value: OutMode | keyof typeof OutMode | OutModeAlt);
    get outMode(): OutMode | keyof typeof OutMode | OutModeAlt;
    set outMode(value: OutMode | keyof typeof OutMode | OutModeAlt);
    get noise(): Path;
    set noise(value: Path);
    angle: MoveAngle;
    attract: Attract;
    direction: MoveDirection | keyof typeof MoveDirection | MoveDirectionAlt;
    distance: number;
    decay: number;
    drift: RangeValue;
    enable: boolean;
    gravity: MoveGravity;
    path: Path;
    outModes: OutModes;
    random: boolean;
    size: boolean;
    speed: RangeValue;
    straight: boolean;
    trail: Trail;
    vibrate: boolean;
    warp: boolean;
    constructor();
    load(data?: RecursivePartial<IMove>): void;
}
