import { EventEmitter, OnInit, OnChanges, SimpleChanges, ChangeDetectorRef, AfterContentChecked } from "@angular/core"; import { ControlValueAccessor } from "@angular/forms"; export declare type SliderTheme = "primary" | "inverted" | "success" | "danger" | "warning" | "purple"; export declare type SliderAppearance = "normal" | "alternative"; export interface RangeSliderLabel { position: number; text: string; } /** A slider to experiment and adjust values with. */ export declare class SliderComponent implements OnInit, OnChanges, AfterContentChecked, ControlValueAccessor { private ref; /** Use an alternative version of the slider */ alternative?: boolean; /** Always Show tooltip (default: false) */ alwaysShowTooltip?: boolean; /** Element class name */ className?: string; /** Property sets whether slider is disabled */ disabled?: boolean; /** Error message of slider */ error?: string; /** Element ID */ id?: string; /** Element label */ label?: string; /** Labels to be displayed below the slider */ labels?: Array; /** Maximum value of the range */ max?: number; /** Minimum value of the range */ min?: number; /** Slider name */ name: string; /** Callback on slider value change */ onChange: EventEmitter; /** Show ticks with labels (default: false) */ showTicks?: boolean; /** Value changes on every increment/decrement */ step?: number; /** Slider theme based on SEB predefined colors. (default: 'primary') */ theme?: SliderTheme; /** Tooltip theme based on SEB predefined colors. (default: 'inverted') */ tooltipTheme?: SliderTheme; /** Custom tooltip value */ tooltipValue?: string; styles: string; private _min; private _max; private _size; private _labelsPositions; private _appearance; private _activeTrackStyles; thumbPosition: number; private _value; private onTouchedCallback; private onChangeCallback; private appearanceSizesMap; constructor(ref: ChangeDetectorRef); get innerMin(): number; set innerMin(value: number); get innerMax(): number; set innerMax(value: number); get size(): number; set size(value: number); get appearance(): SliderAppearance; set appearance(value: SliderAppearance); get labelsPositions(): Array; set labelsPositions(value: Array); get activeTrackStyles(): CSSStyleDeclaration; set activeTrackStyles(value: CSSStyleDeclaration); setSliderRange(): void; setLabelsPositions(): void; setStyleTracks(): void; /** * Finds the size between two numbers * @param {number} minValue The minimum value * @param {number} maxValue The maximum value * @returns {number} The size */ getSize(minValue: number, maxValue: number): number; /** * Converts the current value to percentage based on min and max * @returns {number} The precentage */ getPercentage(): number; /** * Calculates the styles needed for the active track * @returns {CSSStyleDeclaration} The active track styles object */ getActiveTrackStyles(): CSSStyleDeclaration; /** * Calculating the position of the label based on it's value * @param {number} value The Slider value * @returns {number} The position of the label in percentage */ getLabelPosition(value: number): number; /** * Determines whether to enable or disable CSS transitions based on the total amount of steps * This is fix for a performance impact caused by rapidly updating the state when sliding * @var maxNumberOfStepsToAllowTransition represents the maximum number of steps to have the * transitions enabled. Transitions would be disabled when exceeding that number; * @returns {boolean} `True` if it should transition */ shouldEnableTransition(): boolean; get value(): number; set value(v: number); writeValue(val: number): void; registerOnChange(fn: () => void): void; registerOnTouched(fn: () => void): void; ngOnInit(): void; ngAfterContentChecked(): void; ngOnChanges(changes: SimpleChanges): void; }