import * as react from 'react';
import { ReactNode } from 'react';
import { ToggleVariantProps, SlotsToClasses, ToggleSlots } from '@trail-ui/theme';
import { SwitchProps as SwitchProps$1 } from 'react-aria-components';

type SwitchThumbIconProps = {
    width: string;
    height: string;
    'data-checked': string;
    isSelected: boolean;
    className: string;
};
interface SwitchProps extends SwitchProps$1, ToggleVariantProps {
    /**
     * The icon to be displayed inside the thumb.
     */
    thumbIcon?: ReactNode | ((props: SwitchThumbIconProps) => ReactNode);
    /**
     * Classes object to style the switch and its children.
     */
    classNames?: SlotsToClasses<ToggleSlots>;
    className?: string;
}
/**
 * A switch allows a user to turn a setting on or off.
 */
declare const _Switch: react.ForwardRefExoticComponent<SwitchProps & react.RefAttributes<HTMLLabelElement>>;

export { _Switch as Switch, SwitchProps, SwitchThumbIconProps };
