import { default as React, AnchorHTMLAttributes, ForwardRefExoticComponent, ReactNode } from 'react';
import { BaseProps } from '../../../libraries/common-types/src/common-types';
import { HeadingTagType, HeadingVariant } from '../../heading/src/heading';
export type CardHeadingDefaultProps = {
    /**
     * Use this to set a testid on the feature list
     */
    ["data-testid"]?: string;
    title: string;
    /**
     * Use when you want an icon to the left of the title
     */
    icon?: ReactNode;
    /**
     * Use for the CTA, it will positioned to the right
     */
    children?: ReactNode;
    titleTag?: HeadingTagType;
    variant?: HeadingVariant;
    enableHyphenation?: boolean;
};
export type CardHeadingNonInteractiveProps = {
    disabled?: never;
    href?: never;
    /**
     * If the href prop is not provided the clickable element will be a button and use this clickHandler when the user presses the card.
     */
    onClick?: never;
    linkElement?: never;
};
export type CardHeadingLinkProps = {
    /**
     * Use this to disable the card. Can be used both with a link card and a button card. In the case of the button the clickHandler will not be called and if a anchor tag the href will be removed.
     */
    disabled?: boolean;
    /**
     * Makes the card become a link to the provided href.
     */
    href: string;
    /**
     * If the href prop is not provided the clickable element will be a button and use this clickHandler when the user presses the card.
     */
    onClick?: () => void;
    linkElement?: ForwardRefExoticComponent<AnchorHTMLAttributes<HTMLAnchorElement>> | "a";
};
export type CardHeadingButtonProps = {
    /**
     * Use this to disable the card. Can be used both with a link card and a button card. In the case of the button the clickHandler will not be called and if a anchor tag the href will be removed.
     */
    disabled?: boolean;
    /**
     * Makes the card become a link to the provided href.
     */
    href?: never;
    /**
     * If the href prop is not provided the clickable element will be a button and use this clickHandler when the user presses the card.
     */
    onClick: () => void;
    linkElement?: never;
};
export type CardHeadingProps<T extends HeadingTagType = "h2"> = BaseProps<T> & CardHeadingDefaultProps;
export declare const CardHeading: <T extends HeadingTagType = "h2">({ ["data-testid"]: dataTestId, ["aria-label"]: ariaLabel, title, icon, children, titleTag, enableHyphenation, onClick, href, disabled, linkElement, variant, ...props }: CardHeadingProps & (CardHeadingLinkProps | CardHeadingButtonProps | CardHeadingNonInteractiveProps)) => React.JSX.Element;
//# sourceMappingURL=card-heading.d.ts.map