import { HTMLAttributes } from 'react';
import { IconProp } from '../icon';
import { SystemProps } from '../system';
import { ThemingProps } from '../theme';
import { ChangeEventHandler, FocusEventHandler } from '../utils';
export type CheckboxProps = SystemProps & ThemingProps<'Checkbox'> & {
    /** Provides value to checkbox in controlled mode. */
    checked?: boolean;
    /** Deprecated. Please use variant instead. @deprecated  */
    colorScheme?: 'blue' | 'prussian';
    /** Disables checkbox and related elements with the right styling. */
    disabled?: boolean;
    /** Icon used when not checked. @default cuiCheckboxUnselected */
    icon?: IconProp;
    /** Icon used when checked. @default cuiCheckboxSelected */
    iconChecked?: IconProp;
    /** Icon used when in indeterminte state. @default cuiCheckboxIndeterminate */
    iconIndeterminate?: IconProp;
    /** Props object passed to the inner input element. */
    inputProps?: HTMLAttributes<HTMLInputElement>;
    /** Ref passed to the inner input element. */
    inputRef?: React.MutableRefObject<HTMLInputElement | null> | null;
    /** Displays the checkbox as indeterminate. */
    isIndeterminate?: boolean;
    /** Socket for the text next to the checkbox. */
    label?: string;
    /** Passed to the inner input. */
    name?: string;
    /** Passed to the inner input. */
    onBlur?: FocusEventHandler;
    /** Passed to the inner input. */
    onChange?: ChangeEventHandler;
    /** Passed to the inner input. */
    onFocus?: FocusEventHandler;
    /** Passed to the inner input. */
    required?: boolean;
    /** Passed to the inner input. */
    value?: number | string;
};
export type CheckboxStyleProps = {
    /** Styles the icon when any part of the checkbox is hovered. */
    controlHoverColor: string;
};
//# sourceMappingURL=checkbox.types.d.ts.map