import { OnInit, AfterViewInit, OnChanges, OnDestroy, ElementRef, Renderer2, EventEmitter, TemplateRef, ChangeDetectorRef, SimpleChanges, NgZone } from "@angular/core";
import { ControlValueAccessor } from "@angular/forms";
import { Options } from "./options";
import { ChangeContext } from "./change-context";
import * as i0 from "@angular/core";
export declare class Tick {
    selected: boolean;
    style: any;
    tooltip: string;
    tooltipPlacement: string;
    value: string;
    valueTooltip: string;
    valueTooltipPlacement: string;
    legend: string;
}
export declare class SliderComponent implements OnInit, AfterViewInit, OnChanges, OnDestroy, ControlValueAccessor {
    private renderer;
    private elementRef;
    private changeDetectionRef;
    private zone;
    value: number;
    valueChange: EventEmitter<number>;
    highValue: number;
    highValueChange: EventEmitter<number>;
    options: Options;
    userChangeStart: EventEmitter<ChangeContext>;
    userChange: EventEmitter<ChangeContext>;
    userChangeEnd: EventEmitter<ChangeContext>;
    private manualRefreshSubscription;
    set manualRefresh(manualRefresh: EventEmitter<void>);
    private triggerFocusSubscription;
    set triggerFocus(triggerFocus: EventEmitter<void>);
    get range(): boolean;
    private initHasRun;
    private inputModelChangeSubject;
    private inputModelChangeSubscription;
    private outputModelChangeSubject;
    private outputModelChangeSubscription;
    private viewLowValue;
    private viewHighValue;
    private viewOptions;
    private handleHalfDimension;
    private maxHandlePosition;
    private currentTrackingPointer;
    private currentFocusPointer;
    private firstKeyDown;
    private touchId;
    private dragging;
    private leftOuterSelectionBarElement;
    private rightOuterSelectionBarElement;
    private fullBarElement;
    private selectionBarElement;
    private minHandleElement;
    private maxHandleElement;
    private floorLabelElement;
    private ceilLabelElement;
    private minHandleLabelElement;
    private maxHandleLabelElement;
    private combinedLabelElement;
    private ticksElement;
    tooltipTemplate: TemplateRef<any>;
    sliderElementVerticalClass: boolean;
    sliderElementAnimateClass: boolean;
    sliderElementWithLegendClass: boolean;
    sliderElementDisabledAttr: string;
    barStyle: any;
    minPointerStyle: any;
    maxPointerStyle: any;
    fullBarTransparentClass: boolean;
    selectionBarDraggableClass: boolean;
    ticksUnderValuesClass: boolean;
    get showTicks(): boolean;
    private intermediateTicks;
    ticks: Tick[];
    private eventListenerHelper;
    private onMoveEventListener;
    private onEndEventListener;
    private moving;
    private resizeObserver;
    private onTouchedCallback;
    private onChangeCallback;
    constructor(renderer: Renderer2, elementRef: ElementRef, changeDetectionRef: ChangeDetectorRef, zone: NgZone);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    private haveOptionsChanged;
    private haveValuesChanged;
    ngOnDestroy(): void;
    writeValue(obj: any): void;
    registerOnChange(onChangeCallback: any): void;
    registerOnTouched(onTouchedCallback: any): void;
    setDisabledState(isDisabled: boolean): void;
    onResize(event: any): void;
    private subscribeInputModelChangeSubject;
    private subscribeOutputModelChangeSubject;
    private subscribeResizeObserver;
    private unsubscribeResizeObserver;
    private unsubscribeOnMove;
    private unsubscribeOnEnd;
    private unsubscribeInputModelChangeSubject;
    private unsubscribeOutputModelChangeSubject;
    private unsubscribeManualRefresh;
    private unsubscribeTriggerFocus;
    private getPointerElement;
    private getCurrentTrackingValue;
    private modelValueToViewValue;
    private viewValueToModelValue;
    private getStepValue;
    private applyViewChange;
    private applyInputModelChange;
    private publishOutputModelChange;
    private normaliseModelValues;
    private renormaliseModelValues;
    private onChangeOptions;
    private applyOptions;
    private applyStepsArrayOptions;
    private getViewOptionsStepOrEstimate;
    private applyFloorCeilOptions;
    private resetSlider;
    private focusPointer;
    private refocusPointerIfNeeded;
    private manageElementsStyle;
    private manageEventsBindings;
    private updateDisabledState;
    private updateVerticalState;
    private updateScale;
    private getAllSliderElements;
    private initHandles;
    private addAccessibility;
    private updateAriaAttributes;
    private calculateViewDimensions;
    private calculateViewDimensionsAndDetectChanges;
    /**
     * If the slider reference is already destroyed
     * @returns boolean - true if ref is destroyed
     */
    private isRefDestroyed;
    private updateTicksScale;
    private getTicksArray;
    private isTickSelected;
    private updateFloorLabel;
    private updateCeilLabel;
    private updateHandles;
    private getHandleLabelPos;
    private updateLowHandle;
    private updateHighHandle;
    private updateFloorAndCeilLabelsVisibility;
    private isLabelBelowFloorLabel;
    private isLabelAboveCeilLabel;
    private updateSelectionBar;
    private getSelectionBarColor;
    private getPointerColor;
    private getTickColor;
    private updateCombinedLabel;
    private getDisplayValue;
    private roundStep;
    private valueToPosition;
    private positionToValue;
    private getEventXY;
    private getEventPosition;
    private getNearestHandle;
    private bindEvents;
    private getOptionsInfluencingEventBindings;
    private unbindEvents;
    private onBarStart;
    private onStart;
    private onMove;
    private onEnd;
    private onPointerFocus;
    private onKeyUp;
    private onPointerBlur;
    private getKeyActions;
    private onKeyboardEvent;
    private onDragStart;
    /** Get min value depending on whether the newPos is outOfBounds above or below the bar and rightToLeft */
    private getMinValue;
    /** Get max value depending on whether the newPos is outOfBounds above or below the bar and rightToLeft */
    private getMaxValue;
    private onDragMove;
    private positionTrackingBar;
    private positionTrackingHandle;
    private applyMinMaxLimit;
    private applyMinMaxRange;
    private applyPushRange;
    private getChangeContext;
    static ɵfac: i0.ɵɵFactoryDeclaration<SliderComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SliderComponent, "ngx-slider", never, { "value": "value"; "highValue": "highValue"; "options": "options"; "manualRefresh": "manualRefresh"; "triggerFocus": "triggerFocus"; }, { "valueChange": "valueChange"; "highValueChange": "highValueChange"; "userChangeStart": "userChangeStart"; "userChange": "userChange"; "userChangeEnd": "userChangeEnd"; }, ["tooltipTemplate"], never>;
}
