import { Sizes } from '@m4l/styles';
import { Theme } from '@mui/material';
import { M4LOverridesStyleRules } from '../../../@types/augmentations';
import { TypographyProps } from '@m4l/base';
import { UncertaintyFormatterSlots as Slots } from './slots/UncertaintyFormatterEnum';
import { UNCERTAINTY_FORMATTER_KEY_COMPONENT } from './constants';
/**
 * Representa un rango de incertidumbre con límites y una incertidumbre asociada.
 */
export interface UncertaintyRange {
    /**
     * Indica si el límite inferior está cerrado (≤) o abierto (<).
     */
    cmcMinClosed: boolean;
    /**
     * Valor mínimo del rango.
     */
    cmcMin: number;
    /**
     * Indica si el límite superior está cerrado (≤) o abierto (<).
     */
    cmcMaxClosed: boolean;
    /**
     * Valor máximo del rango.
     */
    cmcMax: number;
    /**
     * Incertidumbre asociada al rango.
     */
    cmcUncertainty: number;
}
export interface UncertaintyFormatterProps extends Pick<TypographyProps, 'color' | 'dataTestid' | 'className'> {
    /**
     * Componente personalizado que puede dar la presentación del formatter.
     */
    Component?: React.ElementType;
    /**
     * Objeto de información que contine los valores que se van a utilizar en las propiedades fieldUnit y fieldValue.
     */
    obProps: any;
    /**
     * Valor del campo que debe ser expresado en notación de cadena.
     */
    fieldValue: string;
    /**
     * Valor del simbolo que debe ser expresado en notación de cadena.
     */
    fieldSymbol: string;
    /**
     * Valor de la unidad de medida que debe ser expresado en notación de cadena.
     */
    fieldUnit: string;
    /**
     * Tamaño del componente.
     */
    size?: Extract<Sizes, 'small' | 'medium'>;
}
export type UncertaintyFormatterStyles = M4LOverridesStyleRules<keyof typeof Slots, typeof UNCERTAINTY_FORMATTER_KEY_COMPONENT, Theme>;
//# sourceMappingURL=types.d.ts.map