import { CardStatusCodeType, ChargeCardWithUser } from '@zeniai/client-epic-state'; export declare const CHARGE_CARD_BULK_SELECTION_LIMIT = 20; export type BulkActionType = "lock" | "unlock" | "close" | "update_limit" | "revoke_invite"; export interface CardBulkSelectInfo { isSelectableForBulkAction: boolean; isSelectableForBulkActionSelectAll: boolean; reason?: string; } /** * Returns `true` when the given status code marks the card as closed * (either bank-initiated `closed` or customer-initiated * `closed_by_customer`). Closed cards can't be acted on by bulk * operations or assigned to a card policy, so consumers use this as a * single source of truth for the "is this card terminated" rule. */ export declare const isClosedCardStatus: (code: CardStatusCodeType) => boolean; /** * Determines if a card is selectable for a bulk action based on: * 1. Card status matching (must match first selected card's status) * 2. Action-specific rules */ export declare const isCardSelectableForBulkAction: (card: ChargeCardWithUser, actionType: BulkActionType | undefined, firstSelectedCardStatus?: CardStatusCodeType) => boolean; /** * Filters cards to only those selectable for the given action */ export declare const getSelectableCardsForAction: (cards: ChargeCardWithUser[], actionType: BulkActionType, firstSelectedCardStatus?: CardStatusCodeType) => ChargeCardWithUser[]; /** * Gets the exception message to display for non-selectable cards */ export declare const getExceptionMessage: (card: ChargeCardWithUser, actionType: BulkActionType | undefined, firstSelectedCardStatus?: CardStatusCodeType) => string; /** * Determines which bulk actions are available for the selected cards */ export declare const getAvailableBulkActions: (selectedCards: ChargeCardWithUser[]) => BulkActionType[];