import { ReactNode } from 'react';
export type StickyItemStyles = {
    normal?: string;
    stuckBottom?: string;
    stuckTop?: string;
};
export type StickyType = 'top' | 'bottom' | 'none';
export interface ListItemPropsBase<T> {
    item: ListItemType<T>;
    hideLeft?: boolean;
    hideRight?: boolean;
    scrollIntoView?: boolean;
    isSticky?: boolean;
    stickyType?: StickyType;
    stickyItemStyles?: StickyItemStyles;
    hoverable?: boolean;
    onHover?: (hoverEl: T, hoverIdx: number, isHovered: boolean) => void;
    idx?: number;
    hasSidebarPositionCircle?: boolean;
}
export interface ListItemType<T> {
    id?: string;
    isSticky?: boolean;
    scrollIntoView?: boolean;
    highlighted?: boolean;
    left?: ReactNode | string | undefined;
    title?: ReactNode | string | undefined;
    content?: ReactNode | string | undefined;
    last?: ReactNode | string | undefined;
    right?: ReactNode | string | undefined;
    element?: T;
}
interface ListItemPropsWIthCLick<T> extends ListItemPropsBase<T> {
    onClick?: (el: T, index: number) => void;
    element?: T;
}
export type ListItemProps<T> = ListItemPropsBase<T> & ListItemPropsWIthCLick<T>;
export declare const ListItem: <ObjectType>(props: ListItemProps<ObjectType>) => import("react/jsx-runtime").JSX.Element;
export {};
