/**
 * Slide ability — sprint + crouch-press while grounded transitions into
 * a low-friction slide that preserves horizontal momentum. Exit on:
 *   - crouch released
 *   - horizontal speed falls below `cfg.slide.endSpeed`
 *   - airborne (lost ground contact)
 *   - jump pressed → fires a slide-jump (preserves momentum + adds jump
 *     impulse; the only way to exit while keeping all your speed)
 *
 * The ability has a non-interruptible startup window — once the player
 * commits to a slide, higher-priority abilities can't yank them out for
 * `cfg.slide.startupWindow` seconds. This protects the slide-jump
 * timing window in particular: you can buffer a wall-jump press during
 * slide-startup without losing the slide first.
 *
 * Priority is the lowest among movement abilities (10) — anything
 * dynamic (wall-jump, mantle, ledge-grab) wins. Slide is the "default
 * extension" of running.
 *
 * @author Alex Goldring
 * @copyright Company Named Limited (c) 2026
 */
export class Slide extends Ability {
    /** @private Counts down during the non-interruptible window. */
    private _startupRemaining;
    canActivate(controller: any, runtime: any, _sensors: any): boolean;
    onActivate(controller: any, runtime: any): void;
    canInterrupt(_controller: any, _runtime: any): boolean;
    tick(controller: any, runtime: any, bodyTransform: any, dt: any, system: any): boolean;
    onDeactivate(_controller: any, _runtime: any): void;
}
import { Ability } from "./Ability.js";
//# sourceMappingURL=Slide.d.ts.map