import { ReactNode } from 'react';
import { IPlainCard } from '../PlainCard';
import { ButtonPropsWithTestId } from '../models/MuiExtension.type';
import { IStatusBadgeProps } from '../StatusBadge';
export type ICardActionsProps = {
    /**
     * Custom content to render in the CardActions panel
     * the priority is higher than actionButtons
     * @default undefined
     */
    actions?: ReactNode;
    /**
     * Array of props to pass to Buttons in CardActions panel
     * @default undefined
     */
    actionButtons?: ReadonlyArray<ButtonPropsWithTestId | ReactNode>;
};
export type ICardBadgesProps = {
    /**
       * The status badge(s) to display.
       *
       * ```
       type IStatusBadgeProps = Pick<ChipProps, 'label' | 'icon' | 'clickable' | 'children'> & Omit<BoxProps, 'children' | 'component' | 'ref'> & {
          color?: AlertProps['color'];
      };
      * ```
      *
      * @default undefined
      */
    statusBadges?: ReactNode | IStatusBadgeProps | ReadonlyArray<IStatusBadgeProps>;
};
export type ICardLoadingProps = {
    /**
     * If true, a loading indicator will be displayed blocking interaction with the card
     * */
    loading?: boolean;
    /**
     * Set the style of loader.
     * */
    loadingMode?: 'spinner' | 'skeleton';
};
export declare const Card: {
    (props: IPlainCard): import("react/jsx-runtime").JSX.Element;
    Plain: (props: IPlainCard) => import("react/jsx-runtime").JSX.Element;
    Image: (props: import("../ImageCard").IImageCard) => import("react/jsx-runtime").JSX.Element;
    Link: (props: import("../LinkCard").ILinkCard) => import("react/jsx-runtime").JSX.Element;
    Complex: import("react").ForwardRefExoticComponent<Omit<import("../ComplexCard").IComplexCard, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
    Empty: (props: import("../EmptyCard").IEmptyCard) => import("react/jsx-runtime").JSX.Element;
    Product: (props: import("../ProductCard").IProductCard) => import("react/jsx-runtime").JSX.Element;
};
export default Card;
