export interface DuoKnobSliderConfig {
    trackElement?: HTMLElement;
    knobOneElement?: HTMLElement;
    knobTwoElement?: HTMLElement;
    highlightElement?: HTMLElement;
    minValueElement?: HTMLElement;
    maxValueElement?: HTMLElement;
    range: [number, number];
    interval: number;
    useInterval: boolean;
    onInit: (slider: DuoKnobSlider) => void;
    onActivate: (slider: DuoKnobSlider) => void;
    onDeactivate: (slider: DuoKnobSlider) => void;
    onUpdate: (slider: DuoKnobSlider) => void;
    moveKnob: (knob: HTMLElement, left: number) => void;
    updateHighlight: (highlight: HTMLElement, left: number, width: number, slider: DuoKnobSlider) => void;
}
export declare const DUO_KNOB_SLIDER_DEFAULT_CONFIG: DuoKnobSliderConfig;
export declare class DuoKnobSlider {
    config: DuoKnobSliderConfig;
    isActive: boolean;
    isDisabled: boolean;
    knobOneIsActive: boolean;
    knobTwoIsActive: boolean;
    private knobOneLeftOffset;
    private knobTwoLeftOffset;
    private knobOnePointerDragEventManager?;
    private knobTwoPointerDragEventManager?;
    knobOneValue: number;
    knobTwoValue: number;
    private currentValue;
    constructor(config: Partial<DuoKnobSliderConfig>);
    setConfig(config: Partial<DuoKnobSliderConfig>): this;
    value: [number, number];
    readonly normalizedValue: [number, number];
    private updateValueFromKnobValues;
    private getSliderRect;
    private offsetInterval;
    private knobOneEventHandlerStart;
    private knobTwoEventHandlerStart;
    private knobOneEventHandlerDrag;
    private knobTwoEventHandlerDrag;
    private knobOneEventHandlerEnd;
    private knobTwoEventHandlerEnd;
    private checkIfActive;
    private onUpdate;
    listen(): void;
}
