import * as GMO from '@motionpicture/gmo-service';
import * as factory from '../../factory';
export type IUncheckedCardRaw = factory.paymentMethod.paymentCard.creditCard.IUncheckedCardRaw;
export type IUncheckedCardTokenized = factory.paymentMethod.paymentCard.creditCard.IUncheckedCardTokenized;
export type ISearchCardResult = GMO.factory.card.ISearchCardResult;
export interface IOptions {
    /**
     * GMOサイトID
     */
    siteId: string;
    /**
     * GMOサイトパス
     */
    sitePass: string;
    /**
     * GMOクレジットカードサービス
     */
    cardService: GMO.service.Card;
}
/**
 * クレジットカードリポジトリ
 */
export declare class CreditCardRepo {
    private readonly options;
    constructor(options: IOptions);
    /**
     * クレジットカード追加
     */
    save(params: {
        /**
         * 会員ID
         */
        personId: string;
        creditCard: IUncheckedCardRaw | IUncheckedCardTokenized;
        defaultFlag?: boolean;
    }): Promise<ISearchCardResult>;
    /**
     * クレジットカード削除
     */
    deleteBySequenceNumber(params: {
        /**
         * 会員ID
         */
        personId: string;
        cardSeq: string;
    }): Promise<void>;
    /**
     * 会員のクレジットカードを全て削除
     */
    deleteAll(params: {
        /**
         * 会員ID
         */
        personId: string;
    }): Promise<void>;
    /**
     * クレジットカード検索
     */
    search(params: {
        /**
         * 会員ID
         */
        personId: string;
    }): Promise<ISearchCardResult[]>;
}
