import { WidgetBase } from '@dojo/framework/core/WidgetBase';
import { ThemedMixin, ThemedProperties } from '@dojo/framework/core/mixins/Themed';
import { FocusMixin, FocusProperties } from '@dojo/framework/core/mixins/Focus';
import { DNode } from '@dojo/framework/core/interfaces';
import { CustomAriaProperties, LabeledProperties, InputEventProperties, InputProperties, PointerEventProperties, KeyEventProperties } from '../common/interfaces';
/**
 * @type SliderProperties
 *
 * Properties that can be set on a Slider component
 *
 * @property max               The maximum value for the slider
 * @property min               The minimum value for the slider
 * @property output            An optional function that returns a string or DNode for custom output format
 * @property showOutput        Toggles visibility of slider output
 * @property step              Size of the slider increment
 * @property vertical          Orients the slider vertically, false by default.
 * @property verticalHeight    Length of the vertical slider (only used if vertical is true)
 * @property value           The current value
 */
export interface SliderProperties extends ThemedProperties, LabeledProperties, InputProperties, FocusProperties, InputEventProperties, PointerEventProperties, KeyEventProperties, CustomAriaProperties {
    max?: number;
    min?: number;
    output?(value: number): DNode;
    outputIsTooltip?: boolean;
    showOutput?: boolean;
    step?: number;
    vertical?: boolean;
    verticalHeight?: string;
    value?: number;
    onClick?(value: number): void;
    inputStyles?: Partial<CSSStyleDeclaration>;
}
declare const Slider_base: import("@dojo/framework/core/interfaces").Constructor<ThemedMixin<{}>> & typeof WidgetBase & import("@dojo/framework/core/interfaces").Constructor<FocusMixin>;
export declare class Slider extends Slider_base<SliderProperties> {
    private _widgetId;
    private _onBlur;
    private _onChange;
    private _onClick;
    private _onFocus;
    private _onInput;
    private _onKeyDown;
    private _onKeyPress;
    private _onKeyUp;
    private _onMouseDown;
    private _onMouseUp;
    private _onTouchStart;
    private _onTouchEnd;
    private _onTouchCancel;
    protected getRootClasses(): (string | null)[];
    protected renderControls(percentValue: number): DNode;
    protected renderOutput(value: number, percentValue: number): DNode;
    render(): DNode;
}
export default Slider;
