import { AfterViewInit, ChangeDetectorRef, ElementRef, OnChanges, OnInit, SimpleChanges } from '@angular/core';
import { ControlValueAccessor, NgControl } from '@angular/forms';
import { TooltipComponent } from '../tooltip/tooltip.component';
import { SliderColor, SliderMark } from './slider.types';
import { BooleanInput, NumberInput } from '@angular/cdk/coercion';
import * as i0 from "@angular/core";
export declare class SliderComponent implements ControlValueAccessor, OnInit, AfterViewInit, OnChanges {
    private cdr;
    control?: NgControl | undefined;
    static ngAcceptInputType_value: NumberInput;
    static ngAcceptInputType_range: BooleanInput;
    static ngAcceptInputType_tooltipDisabled: BooleanInput;
    private onChange?;
    private onTouched?;
    private _posX;
    private _value;
    position$: import("rxjs").Observable<{
        x: number;
        y: number;
    }>;
    trackElm: ElementRef;
    tooltipRef: TooltipComponent;
    disabled: boolean;
    tooltipDisabled: boolean;
    color: SliderColor;
    secondColor?: SliderColor;
    min: number;
    max: number;
    step: number;
    tipFormatter?: (value: number) => string;
    marks?: SliderMark[];
    range: boolean;
    get value(): number;
    set value(v: number);
    private get percentage();
    get width(): number;
    get tooltip(): string;
    getColor(color: string): string;
    getPercentage(absolute: number): number;
    constructor(cdr: ChangeDetectorRef, control?: NgControl | undefined);
    ngOnInit(): void;
    ngAfterViewInit(): Promise<void>;
    ngOnChanges(changes: SimpleChanges): void;
    writeValue(source: number): void;
    registerOnChange(onChange: (source: number) => void): void;
    registerOnTouched(onTouched: () => void): void;
    setDisabledState(isDisabled: boolean): void;
    private _focusOut;
    private _decreaseKey;
    private _increaseKey;
    move(screenX: number): Promise<void>;
    private get hostRect();
    private setPositionByPercentage;
    static ɵfac: i0.ɵɵFactoryDeclaration<SliderComponent, [null, { optional: true; self: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SliderComponent, "xui-slider", never, { "disabled": { "alias": "disabled"; "required": false; }; "tooltipDisabled": { "alias": "tooltipDisabled"; "required": false; }; "color": { "alias": "color"; "required": false; }; "secondColor": { "alias": "secondColor"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "step": { "alias": "step"; "required": false; }; "tipFormatter": { "alias": "tipFormatter"; "required": false; }; "marks": { "alias": "marks"; "required": false; }; "range": { "alias": "range"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, {}, never, never, false, never>;
}
