import React from "react";
import type { CardBodyProps, CardHeaderProps, CardProps } from "./types";
/**
 * Props for a card that acts as a link.
 * When url is provided, the card becomes clickable and navigates to the specified URL.
 */
type LinkCardProps = CardProps & {
    /**
     * URL that the card would navigate to once clicked.
     */
    url: string;
    /**
     * Makes the URL open in new tab on click.
     */
    external?: boolean;
    onClick?: never;
};
/**
 * Props for a card that has a click handler.
 * When onClick is provided, the card becomes clickable and triggers the handler on click.
 */
type ClickableCardProps = CardProps & {
    /**
     * Event handler that gets called when the card is clicked.
     */
    onClick(event: React.MouseEvent<HTMLAnchorElement | HTMLDivElement>): void;
    url?: never;
    readonly external?: never;
};
/**
 * Props for a regular card without any click behavior.
 */
type RegularCardProps = CardProps & {
    url?: never;
    onClick?: never;
    readonly external?: never;
};
type CardPropOptions = LinkCardProps | ClickableCardProps | RegularCardProps;
/**
 * Header component for the Card.
 * Used in the compound component pattern to provide a consistent header layout.
 *
 * @example
 * ```tsx
 * <Card>
 *   <Card.Header>
 *     <Text>Header Content</Text>
 *   </Card.Header>
 *   <Card.Body>
 *     <p>Card content</p>
 *   </Card.Body>
 * </Card>
 * ```
 */
declare function CardHeaderCompoundComponent({ children }: CardHeaderProps): React.JSX.Element;
/**
 * Body component for the Card.
 * Used in the compound component pattern to provide a consistent content layout.
 *
 * @example
 * ```tsx
 * <Card>
 *   <Card.Header>
 *     <Text>Header Content</Text>
 *   </Card.Header>
 *   <Card.Body>
 *     <p>Card content</p>
 *   </Card.Body>
 * </Card>
 * ```
 */
declare function CardBodyCompoundComponent({ children }: CardBodyProps): React.JSX.Element;
export declare function Card(props: CardPropOptions): React.JSX.Element;
export declare namespace Card {
    var Header: typeof CardHeaderCompoundComponent;
    var Body: typeof CardBodyCompoundComponent;
}
export {};
