import { ChangeEvent, ReactNode } from 'react';
import { BoxProps } from '../box/Box';
import { GenericComponent } from '../../@types/types';
import { SIZES } from '../../constants';
interface CheckboxProps extends Omit<BoxProps, 'onChange' | 'size'> {
    /** If true, the checkbox will be checked. */
    checked?: boolean;
    /** The content to display next to the checkbox. */
    children?: ReactNode;
    /** If true, component will be disabled. */
    disabled?: boolean;
    /** Name for form input. */
    name?: string;
    /** A class name for the wrapper to give custom styles. */
    className?: string;
    /** The textual label displayed next to the checkbox. */
    label?: string;
    /** Callback function that is fired when checkbox is toggled. */
    onChange?: (checked: boolean, event: ChangeEvent<HTMLInputElement>) => void;
    /** Indicate whether the checkbox is neither checked or unchecked. */
    indeterminate?: boolean;
    /** Size of the checkbox. */
    size?: Exclude<typeof SIZES[number], 'tiny' | 'fullscreen' | 'smallest' | 'hero'>;
}
declare const Checkbox: GenericComponent<CheckboxProps>;
export default Checkbox;
