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 {};