import { RenderResult } from '@dojo/framework/core/interfaces';
declare type RangeValue = {
    min: number;
    max: number;
};
export interface RangeSliderProperties {
    /** Custom aria attributes */
    aria?: {
        [key: string]: string | null;
    };
    /** Set the disabled property of the control */
    disabled?: boolean;
    /** Hides the label from view while still remaining accessible for screen readers */
    labelHidden?: boolean;
    /** The maximum value allowed */
    max?: number;
    /** The label displayed at the maximum range */
    maximumLabel?: string;
    /** The name of the max slider */
    maxName?: string;
    /** The minimum value allowed */
    min?: number;
    /** The label displayed at the minimum range */
    minimumLabel?: string;
    /** The name of the minimum range */
    minName?: string;
    /** The name of the slider input */
    name?: string;
    /** Handler for when the element is blurred */
    onBlur?(): void;
    /** Handler for when the element is focused */
    onFocus?(): void;
    /** Handler for when the pointer moves out of the element */
    onOut?(): void;
    /** Handler for when the pointer moves over the element */
    onOver?(): void;
    /** Handler for when the value of the widget changes */
    onValue?(value: RangeValue): void;
    /** If the rendered output should be displayed as a tooltip */
    outputIsTooltip?: boolean;
    /** Makes the slider readonly (it may be focused but not changed) */
    readOnly?: boolean;
    /** If the range slider must be set */
    required?: boolean;
    /** If the rendered output should be displayed */
    showOutput?: boolean;
    /** The amount which the slider may be changed */
    step?: number;
    /** If the values provided by the slider are valid */
    valid?: boolean;
    /** The initial value of the range slider */
    initialValue?: RangeValue;
    /** A controlled value for the range slider */
    value?: RangeValue;
    /** The id used for the form input element */
    widgetId?: string;
}
export interface RangeSliderChildren {
    /** Adds a <label> element with the supplied text */
    label?: RenderResult;
    /** A renderer used to display the output values (min, max) */
    output?(value: RangeValue): RenderResult;
}
export interface RangeSliderICache {
    initialValue?: RangeValue;
    value?: RangeValue;
    focused: boolean;
}
export declare const RangeSlider: import("@dojo/framework/core/interfaces").OptionalWNodeFactory<{
    properties: RangeSliderProperties & import("@dojo/framework/core/interfaces").WidgetProperties & {
        variant?: "default" | "inherit" | undefined;
    } & import("@dojo/framework/core/middleware/theme").ThemeProperties & import("@dojo/framework/core/interfaces").FocusProperties;
    children: RangeSliderChildren;
}>;
export default RangeSlider;
