import { BoxProps, SxProps } from '@mui/material';
import * as React from 'react';
import { IconId } from '../icon/Icon';
import { EnhancedCardImageProps } from './EnhancedCardImage';
import { EnhancedCardTitleProps } from './EnhancedCardTitle';
import { EnhancedCardSubtitleProps } from './EnhancedCardSubtitle';
import { EnhancedCardRowProps } from './EnhancedCardRow';
export interface EnhancedCardCompound extends React.ForwardRefExoticComponent<EnhancedCardProps & React.RefAttributes<HTMLDivElement>> {
    Image: React.FC<EnhancedCardImageProps>;
    Title: React.FC<EnhancedCardTitleProps>;
    Subtitle: React.FC<EnhancedCardSubtitleProps>;
    Row: React.FC<EnhancedCardRowProps>;
}
export declare const enhancedCardVariants: readonly ["default", "selectable"];
type EnhancedCardVariant = (typeof enhancedCardVariants)[number];
export declare const enhancedCardSizes: readonly ["S", "M", "L", "XL", "XXL"];
export type EnhancedCardSize = (typeof enhancedCardSizes)[number];
type Action = {
    iconId: IconId;
    text?: string;
    onClick: (event?: React.MouseEvent) => void;
    enableAuxClick?: boolean;
    disabled?: boolean;
    disabledTooltip?: string;
};
export type EnhancedCardProps = React.PropsWithChildren<{
    /**
     * Variant of the card.'
     */
    variant?: EnhancedCardVariant;
    /**
     * Tooltip of the card
     */
    tooltip?: string;
    /**
     * Size of the card. Default is 'M'.
     */
    size?: EnhancedCardSize;
    /**
     * Left icon of the card.
     */
    leftIconId?: IconId;
    /**
     * Right icon of the card.
     */
    rightIconId?: IconId;
    /**
     * Disables hover effect. Default is false.
     */
    disableHover?: boolean;
    /**
     * Cursor style for the card.
     */
    cursor?: string;
    /**
     * Define properties for the action button. Button will be rendered if actionProps is defined.
     */
    actionProps?: Action | Action[];
    /**
     * Show action button on hover. Default is false.
     */
    showActionOnHover?: boolean;
    /**
     * Component to show in hover.
     */
    hoverComponent?: React.ReactNode;
    /**
     * Define properties for the badge button. Button will be rendered if badgeProps is defined.
     */
    badgeProps?: {
        text: string;
        onClick?: () => void;
    };
    /**
     * Disables border around the content.
     */
    borderless?: boolean;
    /**
     * Apply selected card styles.
     */
    selected?: boolean;
    /**
     * Data test.
     */
    dataTest?: string;
    /**
     * Disable padding around the content.
     */
    disablePadding?: boolean;
    /**
     * Disable gap between children.
     */
    disableGap?: boolean;
    /**
     * If `true` the onClick callback will also be triggered on aux click. Default is `false`.
     */
    enableAuxClick?: boolean;
    /** sx styles for card  */
    sx?: Omit<SxProps, 'accentColor'>;
} & Pick<BoxProps, 'onClick' | 'onMouseDown' | 'onMouseEnter' | 'onMouseLeave'>>;
declare const _default: EnhancedCardCompound;
export default _default;
