import { ReactElement, FunctionComponent } from 'react';
import { FormControlLabelProps } from '../FormControlLabel/FormControlLabel.js';
import { StyledSwitchProps } from './StyledSwitch.js';

interface SwitchProps extends Omit<StyledSwitchProps, 'inputProps'> {
    sizing?: 'sm' | 'lg';
    value?: boolean;
    label?: string | ReactElement;
    labelPlacement?: Exclude<FormControlLabelProps['labelPlacement'], 'top' | 'bottom'>;
    fullWidth?: boolean;
    onChange?: (event: React.SyntheticEvent<Element, Event>, checked: boolean) => void;
    internalChange?: () => void;
}
declare const Switch: FunctionComponent<SwitchProps>;

export { Switch as default };
export type { SwitchProps };
