/**
 * @license
 * Copyright 2023 Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { BaseComponent, IBaseComponent } from '../core/base/base-component';
import { SliderType, ISliderChangeEventData, ISliderInputEventData } from './slider-constants';
export interface ISliderComponent extends IBaseComponent {
    type: SliderType;
    value: number;
    valueStart: number;
    min: number;
    max: number;
    step: number;
    disabled: boolean;
}
declare global {
    interface HTMLElementTagNameMap {
        'forge-slider': ISliderComponent;
    }
    interface HTMLElementEventMap {
        'forge-slider-input': CustomEvent<ISliderInputEventData>;
        'forge-slider-change': CustomEvent<ISliderChangeEventData>;
    }
}
/**
 * The custom element class behind the `<forge-slider>` component.
 *
 * @tag forge-slider
 */
export declare class SliderComponent extends BaseComponent implements ISliderComponent {
    static get observedAttributes(): string[];
    private _mdcSlider;
    private _mdcSliderFoundation;
    private _type;
    private _value;
    private _valueStart;
    private _min;
    private _max;
    private _step;
    private _disabled;
    private _mdcSliderUpdateListener;
    private _rootElement;
    private _inputElement;
    private _inputElementStart;
    constructor();
    connectedCallback(): void;
    disconnectedCallback(): void;
    attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
    private _setTemplate;
    private _initializeTemplate;
    private _initialize;
    private _initializeMdcSlider;
    private _onSliderUpdate;
    private _syncToSlider;
    private _syncFromSlider;
    private _applyMin;
    private _applyMax;
    private _applyStep;
    private get _isRangeSlider();
    /**
     * Gets/sets the type of slider this is: `continuous` (default), `discrete`, `discrete-markers`
     */
    get type(): SliderType;
    set type(value: SliderType);
    /**
     * Gets/sets the value of the slider.
     */
    get value(): number;
    set value(value: number);
    /**
     * Gets/sets the start value of the slider (only applicable for range sliders).
     */
    get valueStart(): number;
    set valueStart(value: number);
    /**
     * Gets/sets the minimum value for the slider.
     */
    get min(): number;
    set min(value: number);
    /**
     * Gets/sets the maximum value for the slider.
     */
    get max(): number;
    set max(value: number);
    /**
     * Gets/sets the step value for the slider when in discrete mode.
     */
    get step(): number;
    set step(value: number);
    /**
     * Gets/sets the disabled state of the slider.
     */
    get disabled(): boolean;
    set disabled(value: boolean);
}
