import type { HexColor, Position } from "./types.js"; export interface DebugSliderStyleOptions { width?: number; height?: number; trackHeight?: number; thumbRadius?: number; trackColor?: HexColor; fillColor?: HexColor; thumbColor?: HexColor; } export interface CreateDebugSliderOptions extends DebugSliderStyleOptions { /** Current value (default: 0, clamped to min–max range). */ value?: number; /** Minimum value (default: 0). */ min?: number; /** Maximum value (default: 1). */ max?: number; /** Step size — 0 = continuous (default: 0). */ step?: number; /** Whether the slider accepts input (default: true). */ enabled?: boolean; /** Called when the value changes. */ onChange?: (value: number, slider: DebugSlider) => void; /** Position (optional). */ position?: Position; } /** * An interactive horizontal slider for debug HUD. * * Supports min/max range, step snapping, and drag interaction. * Emits `"value-changed"` event. Chainable API. */ export declare class DebugSlider extends Phaser.GameObjects.Container { private _track; private _fill; private _thumb; private _hitZone; private _value; private _min; private _max; private _step; private _isEnabled; private _isDragging; private _sliderWidth; private _sliderHeight; private _trackHeight; private _thumbRadius; private _trackColor; private _fillColor; private _thumbColor; private _onChangeCallbacks; private _boundOnPointerMove; private _boundOnPointerUp; constructor(scene: Phaser.Scene, options?: CreateDebugSliderOptions); getValue(): number; setValue(value: number): this; isEnabled(): boolean; setEnabled(enabled: boolean): this; onValueChanged(handler: (value: number, slider: DebugSlider) => void): this; setTrackColor(color: HexColor): this; setFillColor(color: HexColor): this; setThumbColor(color: HexColor): this; setRange(min: number, max: number): this; setStep(step: number): this; setSliderSize(width: number, height: number): this; setStyle(options: DebugSliderStyleOptions): this; destroy(fromScene?: boolean): void; private handlePointerDown; private handlePointerMove; private handlePointerUp; private stopDragging; private updateValueFromPointer; private clampAndSnap; private fireOnChange; private applyEnabledState; private redraw; } export declare function createDebugSlider(scene: Phaser.Scene, options?: CreateDebugSliderOptions): DebugSlider; //# sourceMappingURL=DebugSlider.d.ts.map