import { default as React, ReactNode } from 'react'; import { ButtonProps } from '../Button'; type Option = T | { value: T; label?: ReactNode; }; export interface ToggleButtonProps extends Omit { /** An array of options available for toggling. * Each option can be a simple value or an object with a value and an optional label. * This setup allows for both simple and descriptive options, accommodating diverse design needs. */ options: Option[]; /** Represents the currently selected value among the available toggle options. * It allows controlled usage, ensuring the component reflects the designated state as part of a larger system or control framework. */ value?: T; /** * A callback function called when the toggle button's value changes. * It receives the updated value as an argument, enabling custom behaviors or state updates to react to user interactions. */ onChange?: (_value: T) => void; /** * Provides a custom rendering function for the display label of the current value, offering flexibility for advanced label designs, such as incorporating icons or complex text formatting. */ renderLabel?: (_value: T) => ReactNode; } /** * The `ToggleButton` component is a versatile toggle switch designed to cycle through a set of predefined options. * It provides a button-based mechanism to iterate over values, ideal for use cases requiring simple toggle actions between discrete states (e.g., settings or modes). * The component offers flexibility through customizable labels and dynamically handles option transitions, enhancing user interaction by providing visual feedback with each toggle. * @see https://cloudoperators.github.io/juno/?path=/docs/components-togglebutton--docs * @see {@link ToggleButtonProps} */ export declare const ToggleButton: ({ options, value, onChange, renderLabel, ...props }: ToggleButtonProps) => React.JSX.Element; export {}; //# sourceMappingURL=ToggleButton.component.d.ts.map