import { Dispatch, SetStateAction } from 'react';
import { default as Color } from 'color';
import { CardsClickType } from '@zeniai/client-analytics';
import { Address, Amount, CashbackDetailSelectorView, ChargeCardDetailSelectorView, FetchState, ID, Token, UserRoleType } from '@zeniai/client-epic-state';
import { BaseCardMixPanelProps } from './helpers/ChargeCardUtils';
export interface CardDetailTopSectionProps extends BaseCardMixPanelProps {
    appleWalletLink: string;
    cardDetailsFetchState: {
        cvv: boolean;
        number: boolean;
    };
    cardOwnerName: string;
    chargeCardCashbackDetailState: CashbackDetailSelectorView;
    chargeCardDetailView: ChargeCardDetailSelectorView;
    classListFetchState: FetchState;
    googleWalletLink: string;
    isCardDetailErrored: boolean;
    isCardNotPending: boolean;
    isDebitCard: boolean;
    isOwnCard: boolean;
    isSandboxEnv: boolean;
    secretRevealed: boolean;
    selectedColor: Color | undefined;
    setCardDetailsFetchState: Dispatch<SetStateAction<{
        cvv: boolean;
        number: boolean;
    }>>;
    setIsCardDetailErrored: Dispatch<SetStateAction<boolean>>;
    setSecretRevealed: Dispatch<SetStateAction<boolean>>;
    setShowChangeSpendLimitPopup: Dispatch<SetStateAction<boolean>>;
    setShowPhoneNumberPopup: Dispatch<SetStateAction<boolean>>;
    setShowSecretInfo: Dispatch<SetStateAction<boolean>>;
    showSecretInfo: boolean;
    showUpdateSpendLimitAction: boolean;
    spent: Amount;
    vgsVaultId: ID;
    addressToShow?: Address;
    cardHolderDepartmentName?: string;
    cardHolderRoles?: UserRoleType[];
    cardIssuedByDepartmentName?: string;
    cardIssuedByRoles?: UserRoleType[];
    signedInUserToken?: Token;
    handleColorCodeClick: (colorCode: Color, isColorToBeSet: boolean) => void;
    isCardDetailFetching: (data: {
        cvv: boolean;
        number: boolean;
    }) => boolean;
    onAddressCopyClick: () => void;
    onFireOnClickAnalytics: (type: CardsClickType, selectedColor?: string) => void;
    onOwnerNameCopyClick: () => void;
    onUnlockChargeCard: (isChargeCardAdmin: boolean) => void;
}
declare const CardDetailTopSection: ({ chargeCardDetailView, spent, controllerEmails, chargeCardCashbackDetailState, isChargeCardFeatureEnabled, isDebitCardFeatureEnabled, isDebitCardSetupEnabled, isChargeCardSetupEnabled, creditAccount, creditAccountRepayment, productInformation, cashbackInformation, creditAccountInformation, debitAccountInformation, cardIssuedByRoles, cardIssuedByDepartmentName, cardHolderRoles, cardHolderDepartmentName, classListFetchState, cardOwnerName, secretRevealed, appleWalletLink, googleWalletLink, isCardNotPending, addressToShow, isOwnCard, vgsVaultId, showSecretInfo, isSandboxEnv, isCardDetailErrored, signedInUserToken, selectedColor, showUpdateSpendLimitAction, setShowPhoneNumberPopup, setShowChangeSpendLimitPopup, cardDetailsFetchState, setCardDetailsFetchState, setIsCardDetailErrored, setShowSecretInfo, setSecretRevealed, isCardDetailFetching, handleColorCodeClick, onFireOnClickAnalytics, onOwnerNameCopyClick, onAddressCopyClick, onUnlockChargeCard, isDebitCard, }: CardDetailTopSectionProps) => import("react/jsx-runtime").JSX.Element;
export default CardDetailTopSection;
