import StripeSdk from 'stripe';
import { EntityManager } from 'typeorm';
/**
 * Setup intent Webhook Handler
 */
declare class SetupIntent {
    /**
     * @private
     */
    private readonly manager;
    /**
     * @private
     */
    private readonly cardRepository;
    /**
     * @private
     */
    private readonly customerRepository;
    /**
     * @constructor
     */
    /**
     * @constructor
     */
    constructor(manager: EntityManager);
    /**
     * Handles setup intent succeed
     * @description Support cards. Should be called when webhook triggers
     */
    /**
     * Handles setup intent succeed
     * @description Support cards. Should be called when webhook triggers
     */
    handleSetupIntentSucceed(event: StripeSdk.Event, sdk: StripeSdk): Promise<void>;
    /**
     * Detach duplicated card
     * @description Will detach duplicated card from Stripe customer
     */
    /**
     * Detach duplicated card
     * @description Will detach duplicated card from Stripe customer
     */
    private detachOrRenewWithDetachDuplicatedCard;
}
export { SetupIntent as default };
