import React from 'react';
import { ToggleButtonProps as MuiToggleButtonProps } from '@mui/material';
export interface ToggleOption {
    /**
     * Unique identifier/value
     */
    value: string | number;
    /**
     * Display label
     */
    label?: React.ReactNode;
    /**
     * Icon component
     */
    icon?: React.ReactNode;
    /**
     * Whether option is disabled
     */
    disabled?: boolean;
    /**
     * Tooltip text
     */
    tooltip?: string;
}
export interface ToggleButtonGroupProps {
    /**
     * Array of toggle options
     */
    options: ToggleOption[];
    /**
     * Selected value(s)
     */
    value?: string | number | (string | number)[];
    /**
     * Callback fired when value changes
     */
    onChange?: (value: string | number | (string | number)[] | null) => void;
    /**
     * Whether multiple selections are allowed
     */
    multiple?: boolean;
    /**
     * Visual variant
     */
    variant?: 'default' | 'outlined' | 'contained';
    /**
     * Size of buttons
     */
    size?: 'small' | 'medium' | 'large';
    /**
     * Color theme
     */
    color?: 'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'info';
    /**
     * Orientation
     */
    orientation?: 'horizontal' | 'vertical';
    /**
     * Whether selections are exclusive (for multiple mode)
     */
    exclusive?: boolean;
    /**
     * Whether group is disabled
     */
    disabled?: boolean;
    /**
     * Whether group is required (must have at least one selection)
     */
    required?: boolean;
    /**
     * Full width styling
     */
    fullWidth?: boolean;
    /**
     * Custom styling
     */
    sx?: any;
}
export interface ToggleButtonProps extends Omit<MuiToggleButtonProps, 'value'> {
    /**
     * Button value
     */
    value: string | number;
    /**
     * Whether button is selected
     */
    selected?: boolean;
    /**
     * Visual variant
     */
    variant?: 'default' | 'outlined' | 'contained';
    /**
     * Size of button
     */
    size?: 'small' | 'medium' | 'large';
    /**
     * Color theme
     */
    color?: 'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'info';
    /**
     * Button content
     */
    children?: React.ReactNode;
}
export declare const ToggleButton: React.FC<ToggleButtonProps>;
export declare const ToggleButtonGroup: React.FC<ToggleButtonGroupProps>;
//# sourceMappingURL=ToggleButton.d.ts.map