import { Theme } from '@mui/material';
import { Sizes } from '@m4l/styles';
import { DatePickerProps as MuiDatePickerProps } from '@mui/x-date-pickers';
import { M4LOverridesStyleRules } from '../../../../@types/augmentations';
import { TextFieldVariants } from '../TextField/types';
import { DatePickerEnum } from './slots/DatePickerEnum';
import { DATE_PICKER_KEY_COMPONENT } from './constants';
export interface DatePickerProps extends Omit<MuiDatePickerProps<Date>, 'value' | 'size' | 'format'> {
    value: Date | null;
    error?: {
        message?: string;
    };
    size?: Extract<Sizes, 'small' | 'medium'>;
    disabled?: boolean;
    className?: string;
    dataTestId?: string;
    variant?: TextFieldVariants;
    readOnly?: boolean;
    id?: string;
}
/**
 * Tipo para las props adicionales de DatePicker que se pasan directamente al componente
 * Excluye las props que ya se están manejando explícitamente
 */
export type DatePickerAdditionalProps = Omit<MuiDatePickerProps<Date>, 'value' | 'onChange' | 'disabled' | 'format' | 'slots' | 'slotProps' | 'className' | 'size' | 'components' | 'componentsProps'>;
export interface DatePickerOwnerState extends Record<string, unknown> {
    size?: Extract<Sizes, 'small' | 'medium'>;
    error?: boolean;
    disabled?: boolean;
    isInputAdornment?: boolean;
}
export type DatePickerSlotsType = keyof typeof DatePickerEnum;
export type DatePickerStyles = M4LOverridesStyleRules<DatePickerSlotsType, typeof DATE_PICKER_KEY_COMPONENT, Theme>;
//# sourceMappingURL=types.d.ts.map