import React, { PropsWithChildren, ReactNode } from 'react';
import { CarbonIconType } from '@carbon/icons-react/lib/CarbonIcon';
import { ActionIcon } from '../Card/Card';
type overflowAction = {
    id?: string;
    itemText?: string;
    onClick?: (event: MouseEvent) => void;
    onKeydown?: (event: KeyboardEvent) => void;
};
type PlacementType = 'top' | 'bottom';
type ClickZoneType = 'one' | 'two' | 'three';
export interface ProductiveCardProps 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[];
    /**
     * Optional prop that allows you to pass any component.
     */
    decorator?: ReactNode | boolean;
    /**
     * Determines if the action icons are on the top or bottom of the card
     */
    actionsPlacement?: PlacementType;
    /**
     * Optional user provided class
     */
    className?: string;
    /**
     * Designates which zones of the card are clickable. Refer to design documentation for implementation guidelines
     */
    clickZone?: ClickZoneType;
    /**
     * Optional header description
     */
    description?: string | object | ReactNode;
    /**
     * Optional label for the top of the card
     */
    label?: string | object | ReactNode;
    /**
     * Provides the callback for a clickable card
     */
    onClick?: (event: MouseEvent) => void;
    /**
     * Provides the callback for keydown events on the card
     */
    onKeyDown?: (event: KeyboardEvent) => void;
    /**
     * Function that's called from the primary button or action icon
     */
    onPrimaryButtonClick?: () => void;
    /**
     * Function that's called from the secondary button
     */
    onSecondaryButtonClick?: () => void;
    /**
     * Use an overflow menu instead of action icons. Refer to design documentation for implementation guidelines
     */
    overflowActions?: overflowAction[];
    /**
     * Sets the text for the OverflowMenu aria label and the OverflowMenu trigger button tooltip.
     * Overrides `iconDescription` prop.
     */
    overflowAriaLabel?: string;
    /**
     * Determines if the primary button is enabled or not
     */
    primaryButtonDisabled?: boolean;
    /**
     * 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?: CarbonIconType;
    /**
     * Determines if the primary button is on the top or bottom of the card
     */
    primaryButtonPlacement?: PlacementType;
    /**
     * 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?: CarbonIconType;
    /**
     * Determines if the secondary button is on the top or bottom of the card
     */
    secondaryButtonPlacement?: PlacementType;
    /**
     * 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;
    /**
     * Determines title size
     */
    titleSize?: 'default' | 'large';
    /**
     * Sets the text for the OverflowMenu trigger button tooltip and OverflowMenu aria label,
     * gets overridden by the `overflowAriaLabel` prop.
     *
     * @deprecated Please use the `overflowAriaLabel` prop instead.
     */
    iconDescription?: string;
}
export declare let ProductiveCard: React.ForwardRefExoticComponent<ProductiveCardProps & React.RefAttributes<HTMLDivElement>>;
export {};
