import { type HTMLAttributes, type ReactNode } from 'react';
import { type VariantProps } from 'class-variance-authority';
declare const cardVariants: (props?: ({
variant?: "elevated" | "default" | "outlined" | null | undefined;
interactive?: boolean | null | undefined;
stretch?: boolean | null | undefined;
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
export interface CardProps extends Omit, 'role'>, VariantProps {
variant?: 'default' | 'outlined' | 'elevated';
interactive?: boolean;
/**
* Stretch the Card to fill its parent layout cell. Use on every Card in
* a dashboard row so siblings end up with matching heights, and the
* `Card.Body` + `Card.Footer` flex naturally pin the footer to the
* bottom. Grid cells already `align-items: stretch` by default, but an
* explicit `h-full` keeps the behaviour robust under flex parents too.
*/
stretch?: boolean;
asChild?: boolean;
children: ReactNode;
}
export interface CardHeaderProps extends HTMLAttributes {
/**
* Optional trailing affordance beside the title, intended for an
* ``. It renders outside the element that names the
* card, so the card is announced by its title alone. Not for an
* `interactive` Card (a button inside a button).
*/
info?: ReactNode;
}
export declare const Card: import("react").ForwardRefExoticComponent> & {
Header: import("react").ForwardRefExoticComponent>;
Media: import("react").ForwardRefExoticComponent & import("react").RefAttributes>;
Body: import("react").ForwardRefExoticComponent & import("react").RefAttributes>;
Footer: import("react").ForwardRefExoticComponent & import("react").RefAttributes>;
};
export type { VariantProps as CardVariantProps };
//# sourceMappingURL=card.d.ts.map