import { type ElementType, type JSXElementConstructor } from 'react'; import { type ObjectFit } from '../constants'; import { type AlignmentXDictionaryType, type BackgroundAccentColorsType, type BackgroundColorsDictionaryType, type BackgroundEmotionColorsType, type ChildrenProps, type DirectionExtendedDictionaryType, type StyleProps, type TransferProps } from './shared'; export declare const CardSizes: { readonly AUTO: "auto"; readonly SMALL: "small"; readonly MEDIUM: "medium"; readonly LARGE: "large"; }; export type CardSizesDictionaryKeys = keyof typeof CardSizes; export type CardSizesDictionaryType = (typeof CardSizes)[CardSizesDictionaryKeys] | T; export type CardAlignmentXType = NonNullable | { [key: string]: NonNullable; }; export interface CardElementTypeProps { elementType?: T | JSXElementConstructor; } export type CardDirectionType = NonNullable | { [key: string]: NonNullable; }; export interface CardProps extends CardElementTypeProps { direction?: CardDirectionType; isBoxed?: boolean; } export interface SpiritCardProps extends CardProps, ChildrenProps, StyleProps, TransferProps { } export type CardMediaBackgroundColorsType = BackgroundColorsDictionaryType | BackgroundAccentColorsType | BackgroundEmotionColorsType; export type CardMediaObjectFitType = (typeof ObjectFit)[keyof typeof ObjectFit]; export interface CardMediaProps { backgroundColor?: CardMediaBackgroundColorsType; fit?: CardMediaObjectFitType; hasFilledHeight?: boolean; isExpanded?: boolean; size?: CardSizesDictionaryType; } export interface SpiritCardMediaProps extends CardMediaProps, ChildrenProps, StyleProps, TransferProps { } export interface SpiritCardLogoProps extends ChildrenProps, StyleProps, TransferProps { } export interface CardArtworkProps { alignmentX?: CardAlignmentXType; } export interface SpiritCardArtworkProps extends CardArtworkProps, ChildrenProps, StyleProps, TransferProps { } export interface CardBodyProps { isSelectable?: boolean; } export interface SpiritCardBodyProps extends CardBodyProps, ChildrenProps, StyleProps, TransferProps { } export interface SpiritCardEyebrowProps extends ChildrenProps, StyleProps, TransferProps { } export interface CardTitleProps { isHeading?: boolean; } export interface SpiritCardTitleProps extends CardTitleProps, CardElementTypeProps, ChildrenProps, StyleProps, TransferProps { } export interface CardFooterProps { alignmentX?: CardAlignmentXType; } export interface SpiritCardFooterProps extends CardFooterProps, ChildrenProps, StyleProps, TransferProps { } export type CardLinkProps = { elementType?: E; }; export type SpiritCardLinkProps = CardLinkProps & ChildrenProps & { href: string; };