import * as React from 'react'; import type { SegmentedLabeledOption as RcSegmentedLabeledOption, SegmentedProps as RCSegmentedProps, SegmentedValue as RcSegmentedValue, SegmentedRawOption } from 'rc-segmented'; import type { SizeType } from '../config-provider/SizeContext'; export type { SegmentedValue } from 'rc-segmented'; interface SegmentedLabeledOptionWithoutIcon extends RcSegmentedLabeledOption { label: RcSegmentedLabeledOption['label']; } interface SegmentedLabeledOptionWithIcon extends Omit, 'label'> { label?: RcSegmentedLabeledOption['label']; /** Set icon for Segmented item */ icon: React.ReactNode; } export type SegmentedLabeledOption = SegmentedLabeledOptionWithIcon | SegmentedLabeledOptionWithoutIcon; export type SegmentedOptions = (T | SegmentedLabeledOption)[]; export interface SegmentedProps extends Omit, 'size' | 'options'> { rootClassName?: string; options: SegmentedOptions; /** Option to fit width to its parent's width */ block?: boolean; /** Option to control the display size */ size?: SizeType; vertical?: boolean; shape?: 'default' | 'round'; } declare const InternalSegmented: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>; declare const Segmented: ((props: SegmentedProps & React.RefAttributes) => ReturnType) & Pick; export default Segmented;