import { HelperErrorProps } from '../../HelperError';
import { LabelProps } from '../../Label/types';
import { CheckableListProps } from '../../CheckableList/types';
import { Sizes } from '@m4l/styles';
import { M4LOverridesStyleRules } from '../../../@types/augmentations';
import { RHFCheckableListEnum } from './slots/RHFCheckableListEnum';
import { RHF_CHECKABLE_LIST_COMPONENT_KEY } from './constants';
import { Theme } from '@mui/material';
/**
 * Props para el componente RHFCheckableList, incluye las propiedades especiales del CheckableList, Label,
 * así como las propiedades requeridas por react hook form.
 */
export interface RHFCheckableListProps extends Omit<CheckableListProps, 'value' | 'onChange' | 'data-testid' | 'className'>, Omit<LabelProps, 'dataTestId' | 'error' | 'children' | 'className' | 'disabled' | 'size' | 'skeletonWidth'> {
    /**
     * Identificador para el manejo de campos en react hook form.
     */
    name: string;
    /**
     * Tamaño del componente
     */
    size?: Extract<Sizes, 'small' | 'medium'>;
    /**
     * Propiedad que deshabilita la interacción del componente.
     */
    disabled?: boolean;
    /**
     * Nombre de clase CSS personalizada que se aplicará al componente.
     */
    className?: string;
    /**
     * Propiedad usada para facilitar la identificación del componente en las pruebas.
     */
    dataTestId?: string;
    /**
     * Medida de anchura para el esqueleto del label
     */
    labelSkeletonWidth?: LabelProps['skeletonWidth'];
    /**
     * Medida de anchura para el esqueleto del helperError
     */
    helperErrorSkeletonWidth?: HelperErrorProps['skeletonWidth'];
}
/**
 * Define el estado del componente `RHFCheckableList`.
 */
export interface RHFCheckableListOwnerState {
}
/**
 * Define las claves del objeto `RHFCheckableListSlotsType`, que se utilizan para
 * hacer referencia a los diferentes slots disponibles para estilizar el componente
 * `RHFCheckableList`.
 */
export type RHFCheckableListSlotsType = keyof typeof RHFCheckableListEnum;
/**
 * Define los estilos del componente `RHFCheckableListStyles`. Permite la personalización parcial
 * de las reglas de estilo mediante `OverridesStyleRules`.
 *
 * Puede ser parcial o estar indefinido.
 */
export type RHFCheckableListStyles = M4LOverridesStyleRules<RHFCheckableListEnum, typeof RHF_CHECKABLE_LIST_COMPONENT_KEY, Theme>;
//# sourceMappingURL=types.d.ts.map