/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { AfterViewInit, Renderer2, ElementRef, OnChanges, OnDestroy, NgZone, Injector, SimpleChanges, ChangeDetectorRef } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { LocalizationService } from '@progress/kendo-angular-l10n';
import { SliderBase } from '../sliders-common/slider-base';
import { RangeSliderValue } from './rangeslider-value.type';
import * as i0 from "@angular/core";
/**
 * Represents the Kendo UI RangeSlider component for Angular.
 * Use this component to let users select a range of values.
 *
 * @example
 * ```html
 * <kendo-rangeslider [value]="[10, 50]" [min]="0" [max]="100"></kendo-rangeslider>
 * ```
 *
 * @remarks
 * Supported children components are: {@link RangeSliderCustomMessagesComponent}.
 */
export declare class RangeSliderComponent extends SliderBase implements AfterViewInit, ControlValueAccessor, OnChanges, OnDestroy {
    protected localization: LocalizationService;
    protected injector: Injector;
    protected renderer: Renderer2;
    protected ngZone: NgZone;
    protected changeDetector: ChangeDetectorRef;
    protected hostElement: ElementRef;
    /**
     * Sets the range value of the RangeSlider.
     * Use either `ngModel` or the `value` binding, but not both at the same time.
     */
    value: RangeSliderValue;
    draghandleStart: ElementRef;
    draghandleEnd: ElementRef;
    /**
     * @hidden
     */
    startHandleId: string;
    /**
     * @hidden
     */
    endHandleId: string;
    /**
     * @hidden
     */
    focusableId: string;
    private draggedHandle;
    private lastHandlePosition;
    private activeHandle;
    private focusChangedProgrammatically;
    private isInvalid;
    constructor(localization: LocalizationService, injector: Injector, renderer: Renderer2, ngZone: NgZone, changeDetector: ChangeDetectorRef, hostElement: ElementRef);
    /**
     * Focuses the RangeSlider.
     *
     */
    focus(): void;
    /**
     * Removes focus from the RangeSlider.
     */
    blur(): void;
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    /**
     * @hidden
     */
    textFor(key: string): string;
    /**
     * @hidden
     */
    get valueText(): string;
    /**
     * @hidden
     */
    onWrapClick: (args: any) => void;
    /**
     * @hidden
     */
    handleDragPress(args: any): void;
    /**
     * @hidden
     */
    onHandleDrag(args: any): void;
    /**
     * @hidden
     */
    onKeyDown: (e: KeyboardEvent) => void;
    /**
     * @hidden
     */
    onHandleRelease(args: any): void;
    /**
     * @hidden
     */
    writeValue(value: [number, number]): void;
    /**
     * @hidden
     */
    registerOnChange(fn: () => any): void;
    /**
     * @hidden
     */
    registerOnTouched(fn: () => any): void;
    /**
     * @hidden
     */
    changeValue(value: [number, number]): void;
    /**
     * @hidden
     */
    sizeComponent(): void;
    /**
     * @hidden
     */
    get isDisabled(): boolean;
    /**
     * @hidden
     * Used by the FloatingLabel to determine if the component is empty.
     */
    isEmpty(): boolean;
    protected set focused(value: boolean);
    private set dragging(value);
    private ngChange;
    private ngTouched;
    private getProps;
    private isRangeSliderInvalid;
    private attachElementEventHandlers;
    private handleBlur;
    static ɵfac: i0.ɵɵFactoryDeclaration<RangeSliderComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<RangeSliderComponent, "kendo-rangeslider", ["kendoRangeSlider"], { "value": { "alias": "value"; "required": false; }; }, {}, never, never, true, never>;
}
