import { Theme } from '@mui/material/styles';
import { M4LOverridesStyleRules } from '../../@types/augmentations';
import { CARD_KEY } from './constants';
import { CardSlots } from './slots/CardEnum';
import { Density } from '@m4l/styles';
export type SpacingsCard = number | keyof Density;
export interface CardProps extends React.HTMLAttributes<HTMLDivElement> {
    /**
     * Contenido de la tarjeta.
     */
    children: React.ReactNode;
    /**
     * Variante de la tarjeta.
     */
    variant?: 'text' | 'outlined';
    /**
     * Espacio entre los elementos de la tarjeta.
     */
    gap?: SpacingsCard;
    /**
     * Espacio entre los elementos de la tarjeta.
     */
    padding?: SpacingsCard;
    /**
     * Dirección de la tarjeta.
     */
    direction?: 'row' | 'column';
    /**
     * Altura de la tarjeta.
     */
    height?: number | 'auto';
    /**
     * Clase de la tarjeta.
     */
    className?: string;
    /**
     * Estilo de la tarjeta.
     */
    justifyContent?: React.CSSProperties['justifyContent'];
    /**
     * Estilo de la tarjeta.
     */
    alignItems?: React.CSSProperties['alignItems'];
    /**
     * Estilo de la tarjeta.
     */
    selected?: boolean;
}
export type CardSlotsType = keyof typeof CardSlots;
export type CardOwnerState = {
    variant: CardProps['variant'];
    gap: CardProps['gap'];
    height: CardProps['height'];
    padding: CardProps['padding'];
    direction: CardProps['direction'];
    onClick: boolean;
    justifyContent: CardProps['justifyContent'];
    alignItems: CardProps['alignItems'];
    selected: CardProps['selected'];
};
export type CardStyles = M4LOverridesStyleRules<CardSlotsType, typeof CARD_KEY, Theme>;
//# sourceMappingURL=types.d.ts.map