import type { ReactNode } from "react"; import React from "react"; import type { IconNames } from "@jobber/design"; import type { XOR } from "ts-xor"; interface CardProps { /** * @deprecated Use with the title and onPress properties instead */ readonly header?: HeaderProps; readonly footer?: FooterProps; readonly children?: ReactNode; readonly reportCardHeight?: (height: number) => void; readonly testID?: string; readonly error?: string; readonly elevation?: elevationProp; } type elevationProp = "none" | "low" | "base" | "high"; export type HeaderProps = HeaderCommonProps & HeaderActionProps; interface FooterProps { readonly onPress: () => void; readonly title: string; } interface HeaderCommonProps { readonly title: string; } type HeaderActionProps = { readonly onPress?: never; readonly actionItem?: never; } | { readonly onPress: () => void; readonly actionItem: CardAction; }; interface IconAction { readonly iconName: IconNames; } interface ButtonAction { readonly label: string; } export type CardAction = XOR; export declare function Card({ header, footer, children, reportCardHeight: onCardHeightChange, testID, error, elevation, }: CardProps): React.JSX.Element; export {};