import { M4LOverridesStyleRules } from '../../../@types/augmentations';
import { ImageFormatterSlots } from './slots/ImageFormatterEnum';
import { ImageProps } from '../../Image';
import { IMAGE_FORMATTER_KEY_COMPONENT } from './constants';
import { Theme } from '@mui/material';
/**
 * Props del ImageFormatter
 */
export interface ImageFormatterProps extends Pick<ImageProps, 'src' | 'alt' | 'width' | 'height' | 'cover' | 'enableIntersectionObserver'> {
    /**
     * Texto de la imagen
     */
    text?: string;
    /**
     * ID para testing
     */
    dataTestId?: string;
    /**
     * Clase CSS personalizada
     */
    className?: string;
}
/**
 * Owner state del ImageFormatter
 */
export interface ImageFormatterOwnerState {
    /**
     * Ancho de la imagen
     */
    width?: number | string;
    /**
     * Alto de la imagen
     */
    height?: number | string;
    /**
     * Si la imagen tiene tamaño definido o debe usar 100% + aspect ratio
     */
    hasDefinedSize: boolean;
    /**
     * Si es verdadero, la imagen se ajusta al contenedor y se recorta si es necesario.
     */
    cover?: boolean;
}
/**
 * Tipos de slots disponibles para el ImageFormatter
 */
export type ImageFormatterSlotsType = ImageFormatterSlots;
/**
 * Estilos aplicables al ImageFormatter
 */
export type ImageFormatterStyles = M4LOverridesStyleRules<ImageFormatterSlotsType, typeof IMAGE_FORMATTER_KEY_COMPONENT, Theme>;
//# sourceMappingURL=types.d.ts.map