import {ReactElement} from 'react'; import {StyleProp, TextStyle, ViewStyle} from 'react-native' import {BaseComponent, PureBaseComponent} from '../commons'; import {ColorValue} from '../style/colors'; export type SliderOnValueChange = (value: number) => void; export interface ColorSliderGroupProps { initialColor: ColorValue; onValueChange?: SliderOnValueChange; containerStyle?: StyleProp; sliderContainerStyle?: StyleProp; showLabels?: boolean; labelsStyle?: StyleProp; } export class ColorSliderGroup extends PureBaseComponent {} export interface SliderProps { value?: number; minimumValue?: number; maximumValue?: number; step?: number; minimumTrackTintColor?: ColorValue; maximumTrackTintColor?: ColorValue; renderTrack?: () => ReactElement | ReactElement[]; thumbTintColor?: ColorValue; onValueChange?: SliderOnValueChange; onSeekStart?: () => void; onSeekEnd?: () => void; containerStyle?: StyleProp; trackStyle?: StyleProp; thumbStyle?: StyleProp; activeThumbStyle?: StyleProp; disableActiveStyling?: boolean; disabled?: boolean; } export class Slider extends PureBaseComponent {} export type GradientSliderType = 'default' | 'hue' | 'lightness' | 'saturation'; export interface GradientSliderProps { color?: ColorValue; type?: GradientSliderType; gradientSteps?: number; onValueChange?: SliderOnValueChange; } export class GradientSlider extends BaseComponent {}