///
import { Range } from 'react-range';
import { MQ } from '../utils/style';
import { LogicalProps } from '../utils/logical-properties';
import { TransitionToken } from '../theme';
import { EventData } from '../instrumentation';
export type RenderTrackFunction = Range['props']['renderTrack'];
type RenderThumbFunction = Range['props']['renderThumb'];
export interface SliderOverrideProps extends LogicalProps {
track?: {
stylePreset?: MQ;
size?: string;
};
indicator?: {
stylePreset?: MQ;
};
thumb?: {
stylePreset?: MQ;
size?: string;
};
thumbLabel?: {
stylePreset?: MQ;
typographyPreset?: MQ;
space?: MQ;
};
labels?: {
stylePreset?: MQ;
typographyPreset?: MQ;
space?: MQ;
};
feedback?: {
size?: string;
stylePreset?: MQ;
transitionPreset?: MQ | MQ;
};
}
interface CommonProps {
disabled?: boolean;
vertical?: boolean;
values: number[];
overrides?: SliderOverrideProps;
}
type LabelPositionTypes = 'before' | 'after' | 'inline';
export interface StyledTrackProps extends CommonProps {
dragged: boolean;
labelPosition?: LabelPositionTypes;
}
export interface ThumbLabelProps extends StyledTrackProps {
index: number;
children: number;
}
interface CommonSliderProps extends CommonProps, Omit, 'onChange'> {
min: number;
max: number;
onFinalChange?: (values: number[]) => void;
step?: number;
ariaDescribedBy?: string;
ariaLabel?: string;
ariaValueText?: string;
minLabel?: string | React.ComponentType;
maxLabel?: string | React.ComponentType;
labelPosition?: LabelPositionTypes;
thumbLabel?: boolean | React.ComponentType;
thumbIcon?: React.ComponentType;
dataTestId?: string;
renderTrack?: RenderTrackFunction;
renderThumb?: RenderThumbFunction;
onKeyDown?: (e: React.KeyboardEvent) => void;
}
export interface SliderProps extends CommonSliderProps, EventData {
onChange: (values: number[]) => void;
}
export interface StatefulSliderProps extends CommonSliderProps {
onChange?: (values: number[]) => void;
}
export {};
//# sourceMappingURL=types.d.ts.map