declare type TSelectorOrElement = HTMLElement | Element | string;
interface IProgressBarOptions {
    ariaLabel: string;
    ariaLabeledBy?: string;
    arrowMoveStep: number;
    className: string;
    disabled: boolean;
    float: boolean;
    getTooltipText(value: number, options?: IProgressBarOptions): string;
    getValueText(value: number, options?: IProgressBarOptions): string;
    initialValue: number;
    max: number;
    min: number;
    onChange?(value: number, options?: IProgressBarOptions): any;
    onDragEnd?(value: number, options?: IProgressBarOptions): any;
    onDragMove?(value: number, options?: IProgressBarOptions): any;
    onDragStart?(value: number, options?: IProgressBarOptions): any;
    pageMoveStep: number;
    snap: boolean;
    step: number;
}
interface IProgressBarOptionsPartial {
    ariaLabel?: string;
    ariaLabeledBy?: string;
    arrowMoveStep?: number;
    className?: string;
    disabled?: boolean;
    float?: boolean;
    getTooltipText?(value: number, options?: IProgressBarOptions): string;
    getValueText?(value: number, options?: IProgressBarOptions): string;
    initialValue?: number;
    max?: number;
    min?: number;
    onChange?(value: number, options?: IProgressBarOptions): any;
    onDragEnd?(value: number, options?: IProgressBarOptions): any;
    onDragMove?(value: number, options?: IProgressBarOptions): any;
    onDragStart?(value: number, options?: IProgressBarOptions): any;
    pageMoveStep?: number;
    snap?: boolean;
    step?: number;
}
declare class ProgressBar {
    private element;
    private handleElement;
    private trackElement;
    private progressElement;
    private bufferElement;
    private hoverElement;
    private valueTooltipElement;
    private hoverTooltipElement;
    private options;
    private value;
    private realValue;
    private range;
    private isDragging;
    private isMouseOver;
    private isDestroyed;
    private elementLeft;
    constructor(selectorOrElement: TSelectorOrElement, options: IProgressBarOptionsPartial);
    private createElement;
    private createElements;
    private getClassName;
    private handleMouseEnter;
    private handleMouseLeave;
    private handleDragStart;
    private handleDragEnd;
    private handleMouseMove;
    private handleTouchMove;
    private handleDragMove;
    private handleKeyDown;
    private getValueFromEvent;
    private setOptions;
    private setAriaProps;
    private limitValue;
    private includeStep;
    private updateTooltip;
    private updateValueTooltip;
    private updateHoverTooltip;
    private updateValue;
    private setHoverScale;
    private getRealValue;
    private unbind;
    getValue(): number;
    setValue(value: number): void;
    setBufferValue(value: number): void;
    disable(): void;
    enable(): void;
    destroy(): void;
}
export default ProgressBar;
