import React from 'react'; import { ViewProps, StyleProp, ViewStyle, TextStyle } from 'react-native'; import { $DeepPartial } from '@callstack/react-theme-provider'; import { IconSource } from '../__types__'; declare type IconAlign = 'left' | 'center' | 'right'; export declare type InfoListItemProps = ViewProps & { /** * Show a colored background behind the icon * * Default: false */ avatar?: boolean; /** The color used for the background of the InfoListItem */ backgroundColor?: string; /** * Add a chevron icon on the right * * Default: false */ chevron?: boolean; /** * Smaller height rows with less padding * * Default: false */ dense?: boolean; /** * Show a dividing line below the row * - partial: aligns with the main text keyline of the row * - full: spans the full width of the row * * Default: none */ divider?: 'full' | 'partial'; /** * Color to use for text elements * * Default: Theme.colors.text */ fontColor?: string; /** * Hide the padding reserved for icons when there is no icon. If this is set to false, the text for the InfoListItem will align * together even if there is a mix of items with icons and items without. If this is set to true, the extra padding * for items without icons is removed and the text will align with the icon of other rows. * * Default: false */ hidePadding?: boolean; /** * Icon alignment when avatar prop is set to false * * Default: 'left' */ iconAlign?: IconAlign; /** A component to render for the icon */ icon?: IconSource; /** Color to use for the icon */ iconColor?: string; /** The text to show on the third line. * * If an array is supplied, array items will be separated by the `subtitleSeparator`. * */ info?: string | React.ReactNode[]; /** Custom content to render between the icon and the text elements */ leftComponent?: JSX.Element; /** Callback function to execute when the list item is pressed. */ onPress?: () => void; /** Custom content to render to the right of the text elements */ rightComponent?: JSX.Element; /** Color to use indicating status. This will apply to the status stripe and icon */ statusColor?: string; /** * Separator character used between subtitle or info elements when an array is passed. * * Default: 'ยท' */ subtitleSeparator?: string; /** The text to show on the second line. * * If an array is supplied, array items will be separated by the `subtitleSeparator`. * */ subtitle?: string | React.ReactNode[]; /** The text to show on the first line */ title: string; /** Style overrides for internal elements. The styles you provide will be combined with the default styles. */ styles?: { root?: StyleProp; statusStripe?: StyleProp; iconWrapper?: StyleProp; avatar?: StyleProp; icon?: StyleProp; mainContent?: StyleProp; title?: StyleProp; subtitle?: StyleProp; subtitleWrapper?: StyleProp; info?: StyleProp; infoWrapper?: StyleProp; divider?: StyleProp; }; /** * Theme value overrides specific to this component. */ theme?: $DeepPartial; }; /** * [InfoListItem](https://pxblue-components.github.io/react-native/?path=/info/components-documentation--info-list-item) component * * The InfoListItem is a component used to render lists. It extends the basic implementation * of a list item with additional features, such as icons and status stripes and supplies all of * the correct PX Blue styles. */ export declare const InfoListItem: React.FC; export {};