import { type ReactNode } from "react"; import { type StyleProp, type ViewStyle, type TextStyle } from "../../style/index.js"; import { type CardSkin } from "./card.styles.js"; export type { CardSkin } from "./card.styles.js"; export interface CardProps { children?: ReactNode; title?: string; /** * A glyph rendered before the title, for a section panel that names itself * with an icon. Takes effect on the data-driven path (a card given `title` * rather than raw children). */ icon?: ReactNode; /** * Trailing header content, typically a button. Sits opposite the title so the * header reads as one row: name on the left, action on the right. */ actions?: ReactNode; description?: string; body?: string; footer?: string; raised?: boolean; flat?: boolean; padded?: boolean; flush?: boolean; /** When set, the whole card becomes pressable (a card that behaves as a control). */ onPress?: () => void; /** * Active/selected surface: a primary border and a soft primary tint. For * selectable cards (a card-style radio or checkbox option that is chosen). */ selected?: boolean; /** Grow to fill the main axis of a parent Row/Column (flexGrow: 1). */ grow?: boolean; compact?: boolean; comfortable?: boolean; /** E2E hook forwarded to the root element. */ testID?: string; /** Outer layout composition only (width/flex within a parent), never a restyle hook. */ style?: StyleProp; } export declare function createCard(skin: CardSkin): (props: CardProps) => import("react").JSX.Element; export interface CardSectionProps { children?: ReactNode; /** Outer layout composition only (width/flex within a parent), never a restyle hook. */ style?: StyleProp; } export interface CardTextProps { children?: ReactNode; /** Outer layout composition only (width/flex within a parent), never a restyle hook. */ style?: StyleProp; } export declare function CardHeader({ children, style }: CardSectionProps): import("react").JSX.Element; export declare function CardTitle({ children, style }: CardTextProps): import("react").JSX.Element; export declare function CardDescription({ children, style }: CardTextProps): import("react").JSX.Element; export declare function CardContent({ children, style }: CardSectionProps): import("react").JSX.Element; export declare function CardFooter({ children, style }: CardSectionProps): import("react").JSX.Element; export declare function CardSeparator({ style }: { style?: StyleProp; }): import("react").JSX.Element; export interface CardMediaProps { /** The cover image: a URI string (or a docs sample path), or a bundled `require(...)` asset. */ src?: string | number; /** Height of the media band in px (the image covers it edge to edge). */ height?: number; /** Accessible name / alt text announced for the image. */ alt?: string; /** Alias for `alt` (native naming). */ accessibilityLabel?: string; /** E2E hook forwarded to the image. */ testID?: string; } export declare function createCardMedia(skin: CardSkin): ({ src, height, alt, accessibilityLabel, testID }: CardMediaProps) => import("react").JSX.Element; //# sourceMappingURL=card.shared.d.ts.map