import { EntityManager, QueryRunner } from 'typeorm';
import CardEntity from "../entities/card.js";
/**
 * Card service
 * @TODO: Add support if needed when card will be used as the external account in the connect account
 * NOTE: Card handling as the payment method
 */
declare class Card {
    /**
     * Handle create
     * @description NOTES:
     * 1. Card should be created from setup intent succeed
     * 2. Should be called after insert
     */
    /**
     * Handle create
     * @description NOTES:
     * 1. Card should be created from setup intent succeed
     * 2. Should be called after insert
     */
    static handleAfterInsert(entity: CardEntity, manager: EntityManager): Promise<void>;
    /**
     * Handle update stripe card and card entities default payment method status
     * @TODO: Handle external account card data updated
     */
    /**
     * Handle update stripe card and card entities default payment method status
     * @TODO: Handle external account card data updated
     */
    static handleUpdate(databaseEntity: CardEntity, entity: CardEntity, manager: EntityManager): Promise<void>;
    /**
     * Handle remove card if it's payment method
     */
    /**
     * Handle remove card if it's payment method
     */
    static handleRemove(databaseEntity: CardEntity, manager: EntityManager, { data: { isFromWebhook } }: QueryRunner): Promise<void>;
}
export { Card as default };
