import { EntityManager, Repository } from 'typeorm';
import CardEntity from "../entities/card.js";
interface ICardDataByFingerprintParams {
    userId: string;
    fingerprint?: string | null;
    manager?: EntityManager;
    shouldExpandCard?: boolean;
}
interface ICardDataByFingerprintResult {
    isExist: boolean;
    type?: 'paymentMethod' | 'externalAccount';
    entity?: CardEntity;
}
declare class Card extends Repository<CardEntity> {
    /**
     * Returns card by card id
     * @description Uses to search related connect account (external account) data
     */
    /**
     * Returns card by card id
     * @description Uses to search related connect account (external account) data
     */
    static getCardById(cardId: string, manager: EntityManager): Promise<CardEntity | undefined>;
    /**
     * Returns extracted payment method from card
     * @description Support old payment method storage in params
     */
    /**
     * Returns extracted payment method from card
     * @description Support old payment method storage in params
     */
    static extractPaymentMethodId({ paymentMethodId, params }: CardEntity): string | null;
    /**
     * Returns card presentation by fingerprint
     */
    /**
     * Returns card presentation by fingerprint
     */
    static getCardDataByFingerprint({ userId, fingerprint, shouldExpandCard, manager, }: ICardDataByFingerprintParams): Promise<ICardDataByFingerprintResult>;
}
export { Card as default, ICardDataByFingerprintParams, ICardDataByFingerprintResult };
