import React from 'react'; import { StyleProp, ViewStyle, TextStyle } from 'react-native'; /** * Size variants matching Flutter `Ux4gSliderSize` enum. * Flutter: `small(16, 4)`, `medium(20, 6)` -> (thumbSize, trackHeight) */ export type Ux4gSliderSize = 's' | 'm' | 'small' | 'medium'; /** Matches Flutter `Ux4gSliderCaptionVariant`. */ export type Ux4gSliderCaptionVariant = 'helper' | 'error' | 'warning' | 'success'; /** Matches Flutter `RangeValues`. */ export interface Ux4gRangeValues { start: number; end: number; } export interface Ux4gSliderProps { /** Current value of the slider (controlled). */ value: number; /** Callback fired when the value changes. */ onValueChange?: (value: number) => void; /** Minimum value. @default 0 */ min?: number; /** Maximum value. @default 100 */ max?: number; /** Number of discrete steps. Flutter maps this to `divisions: steps + 1`. */ steps?: number; /** Size of the slider. @default 'small' */ size?: Ux4gSliderSize; /** Whether the slider is interactive. @default true */ enabled?: boolean; /** Label text displayed above the slider. */ label?: string; /** Shows a red asterisk next to the label. @default false */ isRequired?: boolean; /** Icon rendered right after the label text. */ labelIcon?: React.ReactNode; /** Custom text for the start value label (overrides formatted `min`). */ startValueText?: string; /** Custom text for the end value label (overrides formatted `max`). */ endValueText?: string; /** Caption text displayed below the slider. */ caption?: string; /** Semantic variant for the caption. @default 'helper' */ captionVariant?: Ux4gSliderCaptionVariant; /** Show tick marks + value labels under the track. @default false */ showMarksAndValues?: boolean; /** Show the value indicator bubble while dragging. @default false */ showIndicator?: boolean; /** Show editable value / read-only max input fields. @default false */ showInputFields?: boolean; /** Show the start/end value labels above the slider. @default false */ showValueLabels?: boolean; /** Custom value formatter. */ valueFormatter?: (value: number) => string; /** Custom right-aligned element rendered in the label row. */ rightLabelElement?: React.ReactNode; /** Container style. */ style?: StyleProp; /** Label text style override. */ labelStyle?: StyleProp; /** Test ID. */ testID?: string; } /** * **Ux4gSlider** * * React Native port of Flutter `Ux4gSlider` (`slider.dart`) with identical layout, * color resolution, typography and feature set. */ export declare const Ux4gSlider: React.FC; export interface Ux4gRangeSliderProps { /** Current `{ start, end }` values (controlled). */ values: Ux4gRangeValues; /** Callback fired when either thumb moves. */ onValueChange?: (values: Ux4gRangeValues) => void; /** Minimum value. @default 0 */ min?: number; /** Maximum value. @default 100 */ max?: number; /** Number of discrete steps. */ steps?: number; /** Size of the slider. @default 'small' */ size?: Ux4gSliderSize; /** Whether the slider is interactive. @default true */ enabled?: boolean; /** Label text displayed above the slider. */ label?: string; /** Shows a red asterisk next to the label. @default false */ isRequired?: boolean; /** Custom text for the start value label. */ startValueText?: string; /** Custom text for the end value label. */ endValueText?: string; /** Show tick marks + value labels under the track. @default false */ showMarksAndValues?: boolean; /** Show the value indicator bubbles while dragging. @default false */ showIndicator?: boolean; /** Show editable start/end input fields. @default false */ showInputFields?: boolean; /** Show the start/end value labels above the slider. @default false */ showValueLabels?: boolean; /** Custom value formatter. */ valueFormatter?: (value: number) => string; /** Container style. */ style?: StyleProp; /** Label text style override. */ labelStyle?: StyleProp; /** Test ID. */ testID?: string; } /** * **Ux4gRangeSlider** * * React Native port of Flutter `Ux4gRangeSlider` (`slider.dart`). */ export declare const Ux4gRangeSlider: React.FC; //# sourceMappingURL=Slider.d.ts.map