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?: ReactNode;
    /**
     * Optional label for the top of the card
     */
    label?: 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 <a> 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 <a> 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?: ReactNode;
}
export declare const ExpressiveCard: React.ForwardRefExoticComponent<ExpressiveCardProps & React.RefAttributes<HTMLDivElement>>;
//# sourceMappingURL=ExpressiveCard.d.ts.map