import { default as React } from 'react';
import { CardStatusCodeType, ChargeCardListUIState, ChargeCardRowActionView, ChargeCardViewSortKey, ChargeCardWithUser, FetchState, ID, LoggedInUser, SortOrder } from '@zeniai/client-epic-state';
import { ActionTypeForRowAction } from '../../listViewItems/ChargeCardRow';
export interface ListItemSharedData {
    allCheckBoxValues: string[];
    bulkSubmissionLimit: number;
    cardList: ChargeCardWithUser[];
    cardsSelectedForBulkAction: ID[];
    isBulkActionAllowed: boolean;
    isCardControlsEnabled: boolean;
    isCardsCommentingEnabled: boolean;
    revokeChargeCardsInviteFetchState: FetchState;
    rowActionView: ChargeCardRowActionView;
    setActionTypeForRowAction: React.Dispatch<React.SetStateAction<ActionTypeForRowAction | undefined>>;
    showViewForCardUser: boolean;
    signedInUser: LoggedInUser;
    uiState: ChargeCardListUIState;
    unlockChargeCardsFetchState: FetchState;
    firstSelectedCardStatus?: CardStatusCodeType;
    resendInviteId?: ID;
    onChargeCardResendInviteClick: (id: ID) => void;
    onChargeCardRowClick: (id: ID, index: number) => void;
    onColumnSortConfigChanged: (sortKey: ChargeCardViewSortKey, sortOrder: SortOrder) => void;
    setCardIdForRowAction: (cardId: ID | undefined) => void;
    onRowHoverChange?: (cardId: string | null) => void;
}
export type ChargeCardListItemData = {
    listDataRef: React.MutableRefObject<ListItemSharedData>;
};
