import { Theme } from '@mui/material';
import { M4LOverridesStyleRules } from '../../../../@types/augmentations';
import { RHF_UPLOAD_SINGLE_FILE_KEY_COMPONENT } from './constants';
import { RHFUploadSingleFileSlots } from './slots/RHFUploadSingleFileEnum';
import { LabelProps } from '../../../Label/types';
import { Sizes } from '@m4l/styles';
export interface RHFUploadSingleFileProps extends Omit<LabelProps, 'size' | 'error' | 'disabled' | 'children'> {
    /**
     * Nombre del campo del formulario usado en react-hook-form.
     */
    name: string;
    /**
     * Identificador único para el componente.
     */
    dataTestId?: string;
    /**
     * Tamaño del componente.
     */
    size?: Extract<Sizes, 'small' | 'medium'>;
    /**
     * Clase CSS personalizada.
     */
    className?: string;
    /**
     * Variante del componente.
     */
    variant?: 'standard';
    /**
     * Tamaño máximo del archivo en bytes.
     */
    maxFileSize?: number;
    /**
     * Tipos de archivos aceptados.
     */
    accept?: string;
    /**
     * Si es true, el componente estará deshabilitado.
     */
    disabled?: boolean;
}
export type RHFUploadSingleFileSlotsType = keyof typeof RHFUploadSingleFileSlots;
export type RHFUploadSingleFileOwnerState = Pick<RHFUploadSingleFileProps, 'size' | 'variant'> & {
    hidden: boolean;
    isSkeleton: boolean;
};
export type RHFUploadSingleFileStyles = M4LOverridesStyleRules<keyof typeof RHFUploadSingleFileSlots, typeof RHF_UPLOAD_SINGLE_FILE_KEY_COMPONENT, Theme>;
//# sourceMappingURL=types.d.ts.map