import { ElementType } from 'react';
import { PeriodFormatterSlots, PeriodFormatterRootStyled } from './slots';
import { OverridesStyleRules } from '@mui/material/styles/overrides';
import { PERIOD_FORMATTER_KEY_COMPONENT } from './constants';
import { Theme } from '@mui/material';
import { Sizes } from '@m4l/styles';
export type PeriodFormatterType = keyof typeof PeriodFormatterSlots;
/**
 * Component: Tipo de componente HTML que "abraza" el resultado
 * years: Cantidad de años
 * months: Cantidad de meses
 * days: Cantidad de días
 */
export interface PeriodFormatterProps<T extends ElementType = typeof PeriodFormatterRootStyled> {
    years?: number;
    months?: number;
    days?: number;
    Component?: T;
    dataTestId?: string;
    className?: string;
    /**
     * Props para el componente personalizado.
     */
    componentProps?: React.ComponentPropsWithoutRef<T>;
    /**
     * Opciones de tamaño del componente.
     */
    size?: Extract<Sizes, 'small' | 'medium'>;
}
/**
 * Estilos personalizados para el componente PeriodFormatter.
 */
export type PeriodFormatterStyles = OverridesStyleRules<PeriodFormatterType, typeof PERIOD_FORMATTER_KEY_COMPONENT, Theme>;
//# sourceMappingURL=types.d.ts.map