import { ReactNode } from 'react'; import { CardProps as MuiCardProps } from '@mui/material/Card'; /** * Card * Classification: mui-overrides (bordered, flat surface via theme) * MUI base: https://mui.com/material-ui/react-card/ * * The default `Card` is the themed MUI Card. Two custom layout variants are * provided via the `variant` prop: * - `variant="info"` - static summary card (32px vertical / 24px horizontal padding). * - `variant="data"` - collapsible card for structured data (text, tables, lists). * * A Card opens a surface scope one rung above its host so nested tables pick up * that rung's header fill and row separators (Table Separators spec). Tables * inside a data card should use `bordered={false} surface="transparent"`; the * card lets them span its full width so the header fill is not inset like a chip. * * NOTE ON SPACING: MUI's `sx` spacing shorthands (`p`, `py`, `padding`, ...) * multiply numeric values by the 8px spacing unit, so paddings here are passed * as explicit px strings to render the exact Figma values. */ export { default as CardHeader } from '@mui/material/CardHeader'; export { default as CardContent } from '@mui/material/CardContent'; export { default as CardActions } from '@mui/material/CardActions'; export { default as CardMedia } from '@mui/material/CardMedia'; export interface InfoCardProps { variant: 'info'; title: string; children: ReactNode; } export interface DataCardProps { variant: 'data'; title: string; children?: ReactNode; /** Shown when expanded and `children` is empty. */ emptyText?: string; defaultExpanded?: boolean; expanded?: boolean; onChange?: (expanded: boolean) => void; } /** Props for the default (themed MUI) Card. */ export type PlainCardProps = MuiCardProps; export type CardProps = PlainCardProps | InfoCardProps | DataCardProps; /** Inline monospace pill for entities (users, hosts, IPs) inside card body copy. */ export declare function CardDataTag({ children }: { children: ReactNode; }): import("react").JSX.Element; export declare function Card(props: CardProps): import("react").JSX.Element;