import React, { ComponentProps, ReactNode } from "react";
import { AccessibilityRole, Pressable } from "react-native";
import { WithTestID } from "../../utils/types";
import { Badge } from "../badge";
import { IOButtonLinkSpecificProps, IconButton } from "../buttons";
import { IOIcons } from "../icons";
import { IOLogoPaymentType } from "../logos";
type ButtonLinkActionProps = {
    type: "buttonLink";
    componentProps: Omit<IOButtonLinkSpecificProps, "variant">;
};
type IconButtonActionProps = {
    type: "iconButton";
    componentProps: ComponentProps<typeof IconButton>;
};
type BadgeProps = {
    type: "badge";
    componentProps: ComponentProps<typeof Badge>;
};
type EndElementProps = ButtonLinkActionProps | IconButtonActionProps | BadgeProps;
type TopElementProps = BadgeProps;
type GraphicProps = {
    paymentLogoIcon?: IOLogoPaymentType;
    icon?: never;
} | {
    paymentLogoIcon?: never;
    icon?: IOIcons;
};
type InteractiveProps = Pick<ComponentProps<typeof Pressable>, "onLongPress" | "accessibilityActions" | "onAccessibilityAction">;
export type ListItemInfo = WithTestID<{
    value: string | ReactNode;
    label?: string;
    numberOfLines?: number;
    endElement?: EndElementProps;
    topElement?: TopElementProps;
    accessibilityLabel?: string;
    accessibilityRole?: AccessibilityRole;
    reversed?: boolean;
}> & GraphicProps & InteractiveProps;
export declare const ListItemInfo: ({ value, label, numberOfLines, reversed, icon, paymentLogoIcon, endElement, topElement, accessibilityLabel, accessibilityRole, accessibilityActions, onAccessibilityAction, onLongPress, testID }: ListItemInfo) => React.JSX.Element;
export default ListItemInfo;
//# sourceMappingURL=ListItemInfo.d.ts.map