import { ChipColorOptions, Sizes } from '@m4l/styles';
import { M4LOverridesStyleRules } from '../../../@types/augmentations';
import { CHIP_STATUS_FORMATTER_KEY_COMPONENT } from './constants';
import { ChipStatusFormatterSlots as Slots } from './slots/ChipStatusFormatterEnum';
import { Theme } from '@mui/material';
import { ChipVariants } from '../../Chip/types';
import { Maybe } from '@m4l/core';
export type ChipStatusKey = string | number;
export interface ChipStatusFormatterProps {
    /**
     * Etiqueta del chip
     */
    label?: Maybe<string>;
    /**
     * Estado del chip
     */
    status?: Maybe<string | number>;
    /**
     * Conjuntos de colores para los estados del chip
     */
    statusesColors: Record<ChipStatusKey, {
        color: ChipColorOptions;
        variant: ChipVariants;
        opacity?: boolean;
    }>;
    /**
     * Color por defecto
     */
    fallbackColor?: ChipColorOptions;
    /**
     * fallback variant
     */
    fallbackVariant?: ChipVariants;
    /**
     * fallback opacity
     */
    fallbackOpacity?: boolean;
    /**
     * Componente personalizado
     */
    Component?: React.ElementType;
    /**
     * Tamaño del chip
     */
    size?: Extract<Sizes, 'small' | 'medium'>;
    /**
     * Clase CSS del componente root
     */
    className?: string;
    /**
     * ID de prueba del componente
     */
    dataTestid?: string;
}
export type ChipStatusFormatterOwnerState = {};
export type ChipStatusFormatterSlotsType = keyof typeof Slots;
export type ChipStatusFormatterStyles = M4LOverridesStyleRules<keyof typeof Slots, typeof CHIP_STATUS_FORMATTER_KEY_COMPONENT, Theme>;
//# sourceMappingURL=types.d.ts.map