import { Theme } from '@mui/material/styles';
import { Sizes } from '@m4l/styles';
import { M4LOverridesStyleRules } from '../../@types/augmentations';
import { COLOR_KEY_COMPONENT } from './constants';
import { ColorSlots } from './slots';
/**
 * Define the props accepted by the neutral Color preview component.
 */
export interface ColorProps {
    /**
     * Define the preview color.
     * Use `null` or `undefined` to render the default fallback icon instead.
     */
    value?: string | null | undefined;
    /**
     * Define the preview size.
     */
    size?: Extract<Sizes, 'small' | 'medium'>;
    /**
     * Override the default test id.
     */
    dataTestId?: string;
    /**
     * Apply custom classes to the root slot.
     */
    className?: string;
}
/**
 * Resolve the available slot keys for the Color component.
 */
export type ColorSlotsType = keyof typeof ColorSlots;
/**
 * Describe the owner state shared with the Color styled slots.
 */
export type ColorOwnerState = Pick<ColorProps, 'size' | 'value'>;
/**
 * Define the style override contract for the Color component slots.
 */
export type ColorStyles = M4LOverridesStyleRules<ColorSlots, typeof COLOR_KEY_COMPONENT, Theme>;
//# sourceMappingURL=types.d.ts.map