import "./card.css"; import type * as React from "react"; import { useRender } from "@base-ui/react/use-render"; import { type StyleProps } from "./style_props"; export interface CardProps extends StyleProps { children: React.ReactNode; /** * `none` is the banded shape, whose slots carry the gutter. A prop rather than inline `padding: * 0`, which a consumer cannot beat. */ padding?: "default" | "none"; testID?: string; ref?: React.Ref; render?: useRender.RenderProp; } /** * A bordered presentational surface; never interactive (a pressable card is `PressableRow * variant="card"`, a card that opens something `RowFocusEntry`). There is no flat card: a register * that wants flat uses no Card. Plain, or banded (`padding="none"`) from `CardHeader`, `CardBody`, * `CardFooter`. */ export declare function Card({ children, padding, testID, render, ref, ...props }: CardProps): React.ReactElement>; export interface CardHeaderProps extends StyleProps { /** Usually `CardHeaderTitle` (+ `CardHeaderMeta` or any right-side node). Fully replaceable. */ children: React.ReactNode; ref?: React.Ref; render?: useRender.RenderProp; } /** Opening band of a banded Card; bespoke headers put any children here and keep its rhythm. */ export declare function CardHeader({ children, render, ref, ...props }: CardHeaderProps): React.JSX.Element; export interface CardHeaderTitleProps extends StyleProps { children: React.ReactNode; /** * Opened by the ⓘ beside the title. Provide it wherever the title alone does not define the * numbers. */ info?: string; /** For settings-style cards whose title is too terse. */ description?: string; ref?: React.Ref; render?: useRender.RenderProp; } /** * Title, optional ⓘ and description; grows to push siblings right. Tabular numerals so id-like * titles align. */ export declare function CardHeaderTitle({ children, info, description, render, ref, ...props }: CardHeaderTitleProps): React.ReactElement>; export interface CardHeaderMetaProps extends StyleProps { children: React.ReactNode; ref?: React.Ref; render?: useRender.RenderProp; } /** A count, unit or period; tabular for numerals. */ export declare function CardHeaderMeta({ children, render, ref, ...props }: CardHeaderMetaProps): React.JSX.Element; export interface CardBodyProps extends StyleProps { children: React.ReactNode; ref?: React.Ref; render?: useRender.RenderProp; } /** Override gap/flex only; keep the standard padding. */ export declare function CardBody({ children, render, ref, ...props }: CardBodyProps): React.ReactElement>; export interface CardFooterProps extends StyleProps { /** A muted hint on the left, actions on the right — one primary per surface. */ children: React.ReactNode; ref?: React.Ref; render?: useRender.RenderProp; } export declare function CardFooter({ children, render, ref, ...props }: CardFooterProps): React.JSX.Element;