import { HTMLAttributes, FC } from 'react';
import { FieldProps } from '../utils';
import { Tick } from './Tick';
declare type BaseElement = HTMLDivElement;
declare type BaseProps = HTMLAttributes;
interface TickConfig {
/**
* An array of Ticks to display
*/
readonly ticks: ReadonlyArray;
/**
* Wether to snap to Ticks or not
* Default true.
*/
readonly snap?: boolean;
}
export interface SliderProps extends BaseProps {
/**
* `class` to be passed to the component.
*/
readonly className?: BaseProps['className'];
/**
* Specifies default value between min and max value.
*/
readonly value: number;
/**
* Specifies minimum value of the slider.
*/
readonly min?: number;
/**
* Specifies maximum value of the slider.
*/
readonly max?: number;
/**
* Executes a JavaScript when a user changes the value.
*/
readonly handleChange: (value: number) => void;
/**
* If `true`, the slider will be disabled.
*/
readonly disabled?: boolean;
/**
* Configuration for displaying ticks in the slider
*/
readonly tickConfig?: TickConfig;
/**
* Executes JavaScript when a user presses the knob
*/
readonly onPressed?: (pressed: boolean) => void;
/**
* Returns the current knob position in the X-axis
*/
readonly onKnobMove?: (value: number) => void;
}
export declare const Meta: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
/**
* Slider component
*
* A horizontal track with a knob that can be moved
* forward and backward. When the knob is pressed,
* no transitions are applied, but when the track itself
* is pressed, the knob jumps to the new position with
* an animation.
*/
/**
* TODO: according to UX, need to add `variant` property to have style `dashed`
*/
export declare const Slider: FC;
export declare const SliderField: FC & SliderProps>;
export {};