import React, { PropsWithChildren, ReactNode } from 'react';
import { CarbonIconType } from '@carbon/icons-react/lib/CarbonIcon';
import { ActionIcon } from '../Card/Card';
export interface ExpressiveCardProps extends PropsWithChildren {
/**
* Icons that are displayed on the card. Refer to design documentation for implementation guidelines. Note: href is deprecated. Set link.href for href functionality. If you are setting link object, href is a required property. link object supports all anchor element properties. Precedence: link.href > href. If link.href or href is set => anchor element, else button.
*/
actionIcons?: ActionIcon[];
/**
* Content that shows in the body of the card
*/
/**
* Optional user provided class
*/
className?: string;
/**
* Optional prop that allows you to pass any component.
*/
decorator?: ReactNode | boolean;
/**
* Optional header description
*/
description?: string | object | ReactNode;
/**
* Optional label for the top of the card
*/
label?: string | object | ReactNode;
/**
* Optional media content like an image to be placed in the card
*/
media?: ReactNode;
/**
* Establishes the position of the media in the card
*/
mediaPosition?: 'top' | 'left';
/**
* Provides the callback for a clickable card
*/
onClick?: () => void;
/**
* Function that's called from the primary button or action icon
*/
onPrimaryButtonClick?: () => void;
/**
* Function that's called from the secondary button
*/
onSecondaryButtonClick?: () => void;
/**
* Provides the icon that's displayed at the top of the card
*/
pictogram?: CarbonIconType;
/**
* Optionally specify an href for your Button to become an element
*/
primaryButtonHref?: string;
/**
* Optional prop to allow overriding the icon rendering. Can be a React component class
*/
primaryButtonIcon?: () => void | object;
/**
* Establishes the kind of button displayed for the primary button
*/
primaryButtonKind?: 'primary' | 'ghost';
/**
* The text that's displayed in the primary button
*/
primaryButtonText?: string;
/**
* Optionally specify an href for your Button to become an element
*/
secondaryButtonHref?: string;
/**
* Optional prop to allow overriding the icon rendering. Can be a React component class
*/
secondaryButtonIcon?: () => void | object;
/**
* Establishes the kind of button displayed for the secondary button
*/
secondaryButtonKind?: 'secondary' | 'ghost';
/**
* The text that's displayed in the secondary button
*/
secondaryButtonText?: string;
/**
* **Experimental:** For all cases a `Slug` component can be provided.
* Clickable tiles only accept a boolean value of true and display a hollow slug.
* @deprecated please use the `decorator` prop
*/
slug?: ReactNode | boolean;
/**
* Title that's displayed at the top of the card
*/
title?: string | object | ReactNode;
}
export declare const ExpressiveCard: React.ForwardRefExoticComponent>;
//# sourceMappingURL=ExpressiveCard.d.ts.map