import { IIamportPayment } from "./IIamportPayment";
/**
 * 가상 계좌 결제 정보.
 *
 * @author Samchon
 */
export interface IIamportVBankPayment extends IIamportPayment.IBase<"vbank"> {
    /**
     * 가상 계좌 식별자 코드.
     */
    vbank_code: string;
    /**
     * 가상 게좌 이름
     */
    vbank_name: string;
    /**
     * 가상 계좌 번호
     */
    vbank_num: string;
    /**
     * 가상 계좌 예금주.
     */
    vbank_holder: string;
    /**
     * 가상 계좌 입금 만료 기한.
     */
    vbank_date: number;
    /**
     * 가상 계좌 개설 일시.
     */
    vbank_issued_at: number;
}
export declare namespace IIamportVBankPayment {
    /**
     * 가상 계좌 결제 입력 정보.
     *
     * 가상 계좌를 임의 생성할 수 있다.
     *
     * 단, 일부 PG 사 혹은 `fake-iamport-server` 만 가능.
     *
     *   - 세틀뱅크
     *   - 나이스페이먼츠
     *   - KG이니시스
     */
    interface ICreate {
        /**
         * 주문 식별자 키.
         *
         * 아임포트 서버가 아닌, 이를 사용하는 서비스가 자체적으로 발급하고 관리한다.
         */
        merchant_uid: string;
        /**
         * 총액.
         */
        amount: number;
        /**
         * 가상계좌 은행 코드.
         */
        vbank_code: string;
        /**
         * 가상계좌 입금기한, 유닉스 타임.
         */
        vbank_due: number;
        /**
         * 예금주.
         */
        vbank_holder: string;
        name?: string;
        buyer_name?: string;
        buyer_email?: string;
        buyer_tel?: string;
        buyer_addr?: string;
        buyer_postcode?: string;
        pg?: string;
        /**
         * 가상 계좌 입금 정보를 수신할 URL.
         *
         * 누락시 기본 웹훅 URL 사용.
         */
        notice_url?: string;
        /**
         * 커스텀 데이터, 자유롭게 사용 가능.
         */
        custom_data?: string;
        /**
         * [이니시스 전용] 가맹점 콘솔에서 확인한 API 값.
         */
        pg_api_key?: string;
    }
    /**
     * 가상 계좌 결제의 수정 입력 정보.
     *
     * 아직 입금되지 않은 가상계좌의 입금기한 또는 입금금액을 수정할 수 있다.
     *
     * 다만, 세틀뱅크 혹은 `fake-iamport-server` 만 가능.
     */
    interface IUpdate {
        /**
         * 대상 결제 기록의 {@link IIamportPayment.imp_uid}.
         */
        imp_uid: string;
        /**
         * 수정할 결제 금액.
         */
        amount?: number;
        /**
         * 수정할 가상계좌 입금 기한.
         */
        vbank_due?: number;
    }
}
