import { ComponentProps, ReactNode } from "react";
import { Pressable } from "react-native";
import { WithTestID } from "../../utils/types";
import { IOIcons } from "../icons";
import { IOLogoPaymentType } from "../logos";
type ListItemRadioGraphicProps = {
    icon?: never;
    paymentLogo: IOLogoPaymentType;
    uri?: never;
} | {
    icon?: never;
    paymentLogo?: never;
    uri: string;
} | {
    icon: IOIcons;
    paymentLogo?: never;
    uri?: never;
};
type ListItemRadioLoadingProps = {
    state: true;
    skeletonDescription?: boolean;
    skeletonIcon?: boolean;
    loadingAccessibilityLabel?: string;
} | {
    state?: false;
    skeletonDescription?: never;
    skeletonIcon?: never;
    loadingAccessibilityLabel?: never;
};
type Props = WithTestID<{
    value: string;
    description?: string | ReactNode;
    selected: boolean;
    onValueChange?: (newValue: boolean) => void;
    startImage?: ListItemRadioGraphicProps;
    loadingProps?: ListItemRadioLoadingProps;
}>;
type ListItemRadioProps = Props & Pick<ComponentProps<typeof Pressable>, "onPress" | "accessibilityLabel" | "accessibilityHint" | "disabled">;
/**
 * `ListItemRadio` component with the automatic state management that uses a {@link AnimatedCheckBox}
 * The toggleValue change when a `onPress` event is received and dispatch the `onValueChange`.
 *
 * @param props
 * @constructor
 */
export declare const ListItemRadio: ({ value, description, startImage, selected, disabled, onValueChange, accessibilityLabel, accessibilityHint, loadingProps, testID }: ListItemRadioProps) => import("react/jsx-runtime").JSX.Element;
export {};
//# sourceMappingURL=ListItemRadio.d.ts.map