/**
 * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
 * Copyright 2025 by Keenthemes Inc
 */
import KTComponent from '../component';
import { KTRangeSliderConfigInterface, KTRangeSliderEventPayloadInterface, KTRangeSliderInterface } from './types';
declare global {
    interface Window {
        KTRangeSlider: typeof KTRangeSlider;
    }
}
export declare class KTRangeSlider extends KTComponent implements KTRangeSliderInterface {
    protected _name: string;
    protected _defaultConfig: KTRangeSliderConfigInterface;
    protected _config: KTRangeSliderConfigInterface;
    protected _rangeInput: HTMLInputElement | null;
    protected _onNativeInput: ((e: Event) => void) | null;
    protected _onNativeChange: ((e: Event) => void) | null;
    constructor(element: HTMLElement, config?: KTRangeSliderConfigInterface | null);
    private static findRangeInput;
    protected _getOutputSelector(): string;
    protected _resolveOutputElement(): HTMLElement | null;
    protected _getNumericMin(): number;
    protected _getNumericMax(): number;
    /** Reflects `step` for events; `undefined` when `step="any"`. */
    protected _getStepForPayload(): number | undefined;
    protected _getCurrentValue(): number;
    protected _clamp(value: number, min: number, max: number): number;
    protected _fillRatio(value: number, min: number, max: number): number;
    protected _buildEventPayload(): KTRangeSliderEventPayloadInterface;
    protected _syncFromInput(): void;
    protected _handleNativeInput(_event: Event): void;
    protected _handleNativeChange(_event: Event): void;
    getRangeInput(): HTMLInputElement | null;
    getValue(): number;
    dispose(): void;
    static getInstance(element: HTMLElement): KTRangeSlider | null;
    static getOrCreateInstance(element: HTMLElement, config?: KTRangeSliderConfigInterface): KTRangeSlider | null;
    static createInstances(): void;
    static init(): void;
}
//# sourceMappingURL=range-slider.d.ts.map