import { Point, Vector } from '@pilotlab/attributes';
import { Signal } from '@pilotlab/signals';
export declare class Spring {
    constructor(maximumChaseDistance?: number);
    isEnabled: boolean;
    private _isEnabled;
    tick(): void;
    leaderPosition: Vector;
    chaserPosition: Vector;
    chaserRotation: number;
    maximumChaseDistance: number;
    catchProximity: number;
    chaseSpeed: Vector;
    acceleration: number;
    private _OFFSET_FACTOR;
    readonly direction: number;
    private _direction;
    readonly isLeaderCaught: boolean;
    private _isLeaderCaught;
    private _leaderCaughtTicks;
    private _WAIT_BEFORE_CATCHING_TICKS;
    readonly velocityNormalized: Point;
    private _progressRangeScale;
    updated: Signal<Point>;
    leaderCaught: Signal<Point>;
    startChasing(leaderX: number, leaderY: number, chaserX: number, chaserY: number): void;
    private _updateChase();
    private _applyValues();
}
export default Spring;
