import React, { MouseEvent } from 'react';
import { IconLookup } from '@fortawesome/fontawesome-svg-core';
import { TooltipPlacementsType } from '../tooltip';
import './list-card.less';
import { ValueOf } from '../types';
export declare const TRUNCATION_METHODS: {
    readonly TOOLTIP: "tooltip";
    readonly NEWLINE: "newline";
};
export type TruncationMethods = ValueOf<typeof TRUNCATION_METHODS>;
export type ListCardProps = {
    /** Class to append to the outer container of the card */
    className?: string;
    /** Disables hover styles and onClick if false */
    isInteractive?: boolean;
    /** Whether this card is disabled */
    isDisabled?: boolean;
    /** Whether this is active */
    isActive?: boolean;
    /** Whether this is danger */
    hasErrored?: boolean;
    /** Whether the data for this card is still being loaded */
    isLoading?: boolean;
    /** Perform an action on click anywhere on the card */
    onClick?: (event?: MouseEvent) => void;
    /** Custom test id for the card */
    testId?: string;
    /** Custom test id for the card's icon representing a status */
    iconTestId?: string;
    /** A FontAwesome class for the left aside */
    icon?: IconLookup;
    /** Content to display in the title section of the card */
    titleContent?: React.ReactNode;
    /** Content to display in the details section of the card */
    detailsContent?: React.ReactNode;
    /** Content to display in the right aside, will override the chevron */
    controlsContent?: React.ReactNode;
    /** Aria label for loading */
    ariaLabelLoading?: string;
    /** Will show up as an error message, if hasErrored is true */
    errorMessage?: React.ReactNode;
    /** Disable the right chevron explicitly if false */
    showChevron?: boolean;
    /** Content to display on the tooltip of the card */
    tooltipContent?: React.ReactNode;
    /** Where to display the tooltip */
    tooltipPlacement?: TooltipPlacementsType;
    /** Whether a tooltip should be displayed or not */
    showTooltip?: boolean;
    /** How to handle titles that are too long to display */
    truncationMethod?: TruncationMethods;
    /** Show controls in loading state */
    showControlsOnLoading?: boolean;
    /** The role of the ListCard wrapper in case it should not be a default role="button" */
    listCardRole?: string;
};
/**
 * @midnight-gray-supported
 * @alpine-light-supported
 */
export declare function ListCard({ className, isInteractive, isDisabled, isActive, hasErrored, isLoading, onClick, testId, icon, ariaLabelLoading: ariaLabelLoadingParams, iconTestId, titleContent, detailsContent, controlsContent, errorMessage, showChevron, tooltipContent, tooltipPlacement, showTooltip, truncationMethod, showControlsOnLoading, listCardRole, }: ListCardProps): import("react/jsx-runtime").JSX.Element;
