import { Platform } from '@angular/cdk/platform';
import { ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, QueryList, SimpleChanges } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { NzSliderHandleComponent } from './handle.component';
import { NzSliderService } from './slider.service';
import { NzExtendedMark, NzMarks, NzSliderHandler, NzSliderShowTooltip, NzSliderValue } from './typings';
import * as i0 from "@angular/core";
export declare class NzSliderComponent implements ControlValueAccessor, OnInit, OnChanges, OnDestroy {
    private sliderService;
    private cdr;
    private platform;
    slider: ElementRef<HTMLDivElement>;
    handlerComponents: QueryList<NzSliderHandleComponent>;
    nzDisabled: boolean;
    nzDots: boolean;
    nzIncluded: boolean;
    nzRange: boolean;
    nzVertical: boolean;
    nzDefaultValue?: NzSliderValue;
    nzMarks: NzMarks | null;
    nzMax: number;
    nzMin: number;
    nzStep: number;
    nzTooltipVisible: NzSliderShowTooltip;
    nzTooltipPlacement: string;
    nzTipFormatter: (value: number) => string;
    readonly nzOnAfterChange: EventEmitter<NzSliderValue>;
    value: NzSliderValue | null;
    cacheSliderStart: number | null;
    cacheSliderLength: number | null;
    activeValueIndex: number | undefined;
    track: {
        offset: null | number;
        length: null | number;
    };
    handles: NzSliderHandler[];
    marksArray: NzExtendedMark[] | null;
    bounds: {
        lower: NzSliderValue | null;
        upper: NzSliderValue | null;
    };
    private dragStart$;
    private dragMove$;
    private dragEnd$;
    private dragStart_;
    private dragMove_;
    private dragEnd_;
    constructor(sliderService: NzSliderService, cdr: ChangeDetectorRef, platform: Platform);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    writeValue(val: NzSliderValue | null): void;
    onValueChange(_value: NzSliderValue): void;
    onTouched(): void;
    registerOnChange(fn: (value: NzSliderValue) => void): void;
    registerOnTouched(fn: () => void): void;
    setDisabledState(isDisabled: boolean): void;
    /**
     * Event handler is only triggered when a slider handler is focused.
     */
    onKeyDown(e: KeyboardEvent): void;
    private setValue;
    private getValue;
    /**
     * Clone & sort current value and convert them to offsets, then return the new one.
     */
    private getValueToOffset;
    /**
     * Find the closest value to be activated.
     */
    private setActiveValueIndex;
    private setActiveValue;
    /**
     * Update track and handles' position and length.
     */
    private updateTrackAndHandles;
    private onDragStart;
    private onDragMove;
    private onDragEnd;
    /**
     * Create user interactions handles.
     */
    private bindDraggingHandlers;
    private subscribeDrag;
    private unsubscribeDrag;
    private toggleDragMoving;
    private toggleDragDisabled;
    private findClosestValue;
    private valueToOffset;
    private getSliderStartPosition;
    private getSliderLength;
    /**
     * Cache DOM layout/reflow operations for performance (may not necessary?)
     */
    private cacheSliderProperty;
    private formatValue;
    /**
     * Show one handle's tooltip and hide others'.
     */
    private showHandleTooltip;
    private hideAllHandleTooltip;
    private generateMarkItems;
    static ɵfac: i0.ɵɵFactoryDef<NzSliderComponent>;
    static ɵcmp: i0.ɵɵComponentDefWithMeta<NzSliderComponent, "nz-slider", ["nzSlider"], { "nzDisabled": "nzDisabled"; "nzDots": "nzDots"; "nzIncluded": "nzIncluded"; "nzRange": "nzRange"; "nzVertical": "nzVertical"; "nzDefaultValue": "nzDefaultValue"; "nzMarks": "nzMarks"; "nzMax": "nzMax"; "nzMin": "nzMin"; "nzStep": "nzStep"; "nzTooltipVisible": "nzTooltipVisible"; "nzTooltipPlacement": "nzTooltipPlacement"; "nzTipFormatter": "nzTipFormatter"; }, { "nzOnAfterChange": "nzOnAfterChange"; }, never>;
}
