import { CheckboxProps as MUICheckboxProps, Theme } from '@mui/material';
import { LabelProps } from '../../../Label/types';
import { ComponentPalletColor, Sizes } from '@m4l/styles';
import { CheckBoxSlots } from './slots';
import { CHECK_BOX_KEY_COMPONENT } from './constants';
import { M4LOverridesStyleRules } from '../../../../@types/augmentations';
/**
 * Propiedades del estado del propietario del CheckBox.
 * size - El tamaño del CheckBox.
 * disabled - Indica si el CheckBox está deshabilitado.
 */
export type OwnerState = Pick<CheckboxProps, 'size' | 'disabled'>;
/**
 * Variantes para el componente CheckBox.
 */
export type CheckBoxVariants = 'standard';
/**
 * Propiedades del componente CheckBox.
 * [size] - El tamaño del CheckBox.
 * [color] - El color del CheckBox.
 * [inlineText] - El texto que se muestra en línea con el CheckBox.
 */
export interface CheckboxProps extends MUICheckboxProps, Omit<LabelProps, 'label' | 'size'> {
    size?: Extract<Sizes, 'small' | 'medium'>;
    color?: Extract<ComponentPalletColor, 'default'>;
    inlineText?: string;
}
/**
 * Estado del propietario del CheckBox.
 * [checked] - Indica si el CheckBox está marcado.
 * [disabled] - Indica si el CheckBox está deshabilitado.
 * size - El tamaño del CheckBox.
 * [error] - Indica si hay un error en el CheckBox.
 * color - El color del CheckBox.
 */
export interface CheckBoxOwnerState {
    /**
     * Indica si el CheckBox está marcado.
     */
    checked?: boolean;
    /**
     * Indica si el CheckBox está deshabilitado.
     */
    disabled?: boolean;
    /**
     * El tamaño del CheckBox.
     */
    size: Extract<Sizes, 'small' | 'medium'>;
    /**
     * Indica si hay un error en el CheckBox.
     */
    error?: boolean;
    /**
     * El color del CheckBox.
     */
    color: Extract<ComponentPalletColor, 'default'>;
}
/**
 * Tipos de slots del CheckBox.
 */
export type CheckBoxSlotsType = keyof typeof CheckBoxSlots;
/**
 * Estilos del CheckBox.
 */
export type CheckBoxStyles = M4LOverridesStyleRules<CheckBoxSlotsType, typeof CHECK_BOX_KEY_COMPONENT, Theme>;
//# sourceMappingURL=types.d.ts.map