import React from "react";
/**
 * Size options for the Segmented component
 */
export type SegmentedSize = "sm" | "md" | "lg";
/**
 * Theme overrides for Segmented component
 */
export interface SegmentedThemeOverrides {
    /** Base styles for the container */
    baseStyle?: string;
    /** Size-specific styles */
    sizes?: Partial<Record<SegmentedSize, string>>;
    /** Block/full-width styles */
    blockStyle?: string;
    /** Disabled state styles */
    disabledStyle?: string;
    /** Sliding background styles */
    slidingBackgroundStyle?: string;
}
/**
 * Segmented component props
 */
export interface SegmentedProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
    /** The currently selected value (controlled mode) */
    value?: string;
    /** Function called when selection changes */
    onChange?: (value: string) => void;
    /** Size of the segmented control */
    size?: SegmentedSize;
    /** Whether the segmented control is disabled */
    disabled?: boolean;
    /** Whether the segmented control should take full width */
    block?: boolean;
    /** Children SegmentedItem components */
    children?: React.ReactNode;
    /** Custom className for the sliding background */
    slidingBackgroundClassName?: string;
    /** Theme overrides for advanced customization */
    theme?: SegmentedThemeOverrides;
}
/**
 * SegmentedItem component props
 */
export interface SegmentedItemProps extends React.HTMLAttributes<HTMLButtonElement> {
    /** The value for this segment */
    value: string;
    /** Whether this segment is disabled */
    disabled?: boolean;
    /** Children content */
    children?: React.ReactNode;
}
