import * as React from "react"; import { type VariantProps } from "../../utils.js"; import type { SegmentedControlItemParams, SegmentedControlItemFormatted } from "../domains/index.js"; /** * Segmented Control Item Button */ declare const segmentedControlItemVariants: (props?: ({ variant?: "ghost" | "dimmed" | "light" | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; /** * Segmented Control Primitive */ interface SegmentedControlPrimitiveProps { items: SegmentedControlItemParams[]; /** * Callback triggered when the selected value changes. */ onChange?: (value: string) => void; /** * The selected value. */ value?: string; /** * Visual style variant. */ variant?: VariantProps["variant"]; /** * Additional class name. */ className?: string; /** * Disabled state for all items. */ disabled?: boolean; /** * Stretch the control to fill its container width, with buttons sharing space equally. */ fullWidth?: boolean; } interface SegmentedControlVm { items: SegmentedControlItemFormatted[]; } interface SegmentedControlRendererProps extends SegmentedControlPrimitiveProps { items: SegmentedControlItemFormatted[]; changeValue: (value: string) => void; } declare const SegmentedControlRenderer: ({ items, changeValue, value, variant, className, disabled, fullWidth }: SegmentedControlRendererProps) => React.JSX.Element; /** * Segmented Control Primitive Component */ declare const SegmentedControlPrimitive: (props: SegmentedControlPrimitiveProps) => React.JSX.Element; export { SegmentedControlPrimitive, SegmentedControlRenderer, type SegmentedControlPrimitiveProps, type SegmentedControlVm };