import React from 'react'; import { StyleProp, ViewStyle } from 'react-native'; export type Ux4gCardDirection = 'vertical' | 'horizontal'; export type Ux4gCardFooterType = 'none' | 'primaryOnly' | 'secondaryOnly' | 'primaryAndSecondary'; export type Ux4gCardFooterAlignment = 'left' | 'centered' | 'right'; export interface Ux4gCardProps { /** Custom child content. When provided the rich-card layout (media, title, body, etc.) is skipped. */ children?: React.ReactNode; /** Corner radius of the card. @default Ux4gRadius.radius12 */ cornerRadius?: number; /** Background color override. Defaults to `theme.colors.surface`. */ backgroundColor?: string; /** Border color. Defaults to theme border color (`isDark ? UX4GColors.neutral700 : UX4GColors.neutral200`). */ borderColor?: string; /** Border width. @default 1 */ borderWidth?: number; /** Elevation / shadow depth. @default 1 */ elevation?: number; /** When `true` the card is wrapped in a `Pressable`. @default false */ isClickable?: boolean; /** Callback when card is pressed (requires `isClickable = true`). */ onPress?: () => void; /** Layout direction of the rich card. @default 'vertical' */ direction?: Ux4gCardDirection; /** Network image URL shown at the top (vertical) or left (horizontal). */ mediaImageUrl?: string; /** Height of the media area in vertical mode. @default 180 */ mediaHeight?: number; /** Width of the media area in horizontal mode. @default 120 */ mediaWidth?: number; /** Badge label displayed over the media image. */ mediaLabelText?: string; /** Action widget/button rendered at the top right of the media. */ mediaTrailingAction?: React.ReactNode; /** Avatar element rendered before title/subtitle. */ avatar?: React.ReactNode; /** Primary title text. */ title?: string; /** Secondary subtitle text. */ subtitle?: string; /** Action widget/button rendered at the trailing edge of the header. */ headerTrailingAction?: React.ReactNode; /** Status chips rendered as plain text separated by a vertical bar `│` or custom React nodes. */ statusChips?: (string | React.ReactNode)[]; /** Body description text. */ body?: string; /** Bottom chips rendered as bordered pills or custom React nodes. */ bottomChips?: (string | React.ReactNode)[]; /** Footer button configuration. @default 'none' */ footerType?: Ux4gCardFooterType; /** Footer button alignment. @default 'left' */ footerAlignment?: Ux4gCardFooterAlignment; /** Primary button label. @default 'Confirm' */ primaryButtonText?: string; /** Secondary button label. @default 'Cancel' */ secondaryButtonText?: string; /** Callback for the primary button. */ onPrimaryClick?: () => void; /** Callback for the secondary button. */ onSecondaryClick?: () => void; /** Leading icon for the primary button. */ primaryButtonLeadingIcon?: React.ReactNode; /** Trailing icon for the primary button. */ primaryButtonTrailingIcon?: React.ReactNode; /** Leading icon for the secondary button. */ secondaryButtonLeadingIcon?: React.ReactNode; /** Trailing icon for the secondary button. */ secondaryButtonTrailingIcon?: React.ReactNode; /** Additional style applied to the outer card container. */ style?: StyleProp; /** Test ID for testing frameworks. */ testID?: string; } export declare const Ux4gCard: React.FC; //# sourceMappingURL=Card.d.ts.map