/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { LocalizationService } from '@progress/kendo-angular-l10n';
import { EventEmitter, Injector, Renderer2, NgZone, ChangeDetectorRef, ElementRef } from '@angular/core';
import { Subscription } from 'rxjs';
import { NgControl } from '@angular/forms';
import { LabelTemplateDirective } from './label-template.directive';
import { SliderTickTitleCallback } from './title-callback';
import * as i0 from "@angular/core";
/**
* @hidden
*/
export declare abstract class SliderBase {
protected localizationService: LocalizationService;
protected injector: Injector;
protected renderer: Renderer2;
protected ngZone: NgZone;
protected changeDetector: ChangeDetectorRef;
protected hostElement: ElementRef;
/**
* Sets the title for the ticks.
* The default title for each tick is its Slider value.
* If you use a callback function, the function receives the component value and returns a string for the new title [see example](https://www.telerik.com/kendo-angular-ui/components/inputs/slider/ticks#titles).
*/
title: SliderTickTitleCallback;
/**
* Sets the location of the tick marks in the Slider [see example](https://www.telerik.com/kendo-angular-ui/components/inputs/slider/ticks#placement).
*
* The options are:
* - `before` – Shows tick marks above a horizontal track or left of a vertical track.
* - `after` – Shows tick marks below a horizontal track or right of a vertical track.
* - `both` – Shows tick marks on both sides of the track.
* - `none` – Hides tick marks and removes them from the DOM.
*
* @default 'both'
*/
tickPlacement: string;
/**
* When `true`. renders a vertical Slider [see example](https://www.telerik.com/kendo-angular-ui/components/inputs/slider/orientation).
*
* @default false
*/
vertical: boolean;
/**
* Sets the minimum value of the Slider.
* Accepts integers and floating-point numbers [see example](https://www.telerik.com/kendo-angular-ui/components/inputs/slider/predefined-steps#small-steps).
*
* @default 0
*/
min: number;
/**
* Sets the maximum value of the Slider.
* Accepts integers and floating-point numbers [see example](https://www.telerik.com/kendo-angular-ui/components/inputs/slider/predefined-steps#small-steps).
*
* @default 10
*/
max: number;
/**
* Sets the step value of the Slider.
* Accepts only positive values.
* Can be an integer or a floating-point number [see example](https://www.telerik.com/kendo-angular-ui/components/inputs/slider/predefined-steps#small-steps).
*
* @default 1
*/
smallStep: number;
/**
* Sets every nth tick as large and shows a label for it [see example](https://www.telerik.com/kendo-angular-ui/components/inputs/slider/predefined-steps#large-steps).
*
* @default null
*/
largeStep: number;
/**
* Sets the width between two ticks along the track, in pixels.
* If you do not set `fixedTickWidth`, the Slider adjusts the tick width automatically [see example](https://www.telerik.com/kendo-angular-ui/components/inputs/slider/ticks#width).
*
*/
fixedTickWidth: number;
/**
* When `true`, disables the Slider.
* To disable the component in reactive forms, see [Forms Support](https://www.telerik.com/kendo-angular-ui/components/inputs/slider/forms#managing-the-slider-disabled-state-in-reactive-forms) [see example](https://www.telerik.com/kendo-angular-ui/components/inputs/slider/disabled-state).
*
* @default false
*/
disabled: boolean;
/**
* When `true`, sets the Slider to read-only [see example](https://www.telerik.com/kendo-angular-ui/components/inputs/slider/readonly-state).
*
* @default false
*/
readonly: boolean;
/**
* Sets the [`tabindex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the Slider.
*
* @default 0
*/
tabindex: number;
/**
* Fires when the user focuses the component.
*
*/
onFocus: EventEmitter;
/**
* Fires when the component is blurred.
*
*/
onBlur: EventEmitter;
/**
* Fires when the user selects a new value.
*
*/
valueChange: EventEmitter;
direction: string;
get horizontalClass(): boolean;
get verticalClass(): boolean;
sliderClass: boolean;
get disabledClass(): boolean;
wrapper: ElementRef;
track: ElementRef;
sliderSelection: ElementRef;
ticksContainer: ElementRef;
ticks: any;
labelTemplate: LabelTemplateDirective;
protected subscriptions: Subscription;
protected isFocused: boolean;
protected isDragged: boolean;
protected control: NgControl;
constructor(localizationService: LocalizationService, injector: Injector, renderer: Renderer2, ngZone: NgZone, changeDetector: ChangeDetectorRef, hostElement: ElementRef);
/**
* @hidden
* Called when the status of the component changes to or from `disabled`.
* Depending on the value, it enables or disables the appropriate DOM element.
*
* @param isDisabled
*/
setDisabledState(isDisabled: boolean): void;
ngOnInit(): void;
/**
* @hidden
*/
abstract sizeComponent(animate?: boolean): void;
/**
* @hidden
*/
get isDisabled(): boolean;
/**
* @hidden
*/
ifEnabled: Function;
/**
* @hidden
* Used by the FloatingLabel to determine if the component is empty.
*/
isEmpty(): boolean;
protected get reverse(): boolean;
protected get keyBinding(): object;
protected resetStyles(elements: HTMLElement[]): void;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵcmp: i0.ɵɵComponentDeclaration;
}