export type PaymentKey = string & { readonly maxLength?: 200; }; type OrderId = string & { readonly minLength?: 6; readonly maxLength?: 64; }; export type PaymentConfirmRequest = { paymentKey: PaymentKey; orderId: OrderId; amount: number; }; export type PaymentInquiryRequest = { paymentKey: PaymentKey; } & { orderId: OrderId; }; type RefundReceiveAccount = { bank: string; accountNumber: string; holderName: string; }; type Currency = 'USD'; export interface PaymentCancelRequest { cancelReason: string; cancelAmount?: number; refundReceiveAccount?: RefundReceiveAccount; taxFreeAmount?: number; currency?: Currency; } export declare const validateCancelRequestBody: (body: PaymentCancelRequest) => void; export type PaymentKeyInRequestBody = { amount: number; orderId: string; cardNumber: string; cardExpirationYear: string; cardExpirationMonth: string; orderName: string; customerIdentityNumber: string; cardPassword?: string; cardInstallmentPlan?: 0 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12; useFreeInstallmentPlan?: boolean; taxFreeAmount?: number; customerEmail?: string; customerName?: string; vbv?: { cavv: string; xid: string; eci: string; }; }; export interface IssueVirtualAccountRequest { amount: number; orderId: string; orderName: string; customerName: string; bank: string; accountKey?: string; validHours?: number; dueDate?: string; customerEmail?: string; customerMobilePhone?: string; taxFreeAmount?: number; useEscrow?: boolean; cashReceipt?: { type: string; registrationNumber?: string; }; escrowProducts?: { id: string; name: string; code: string; unitPrice: number; quantity: number; }[]; } export declare function validateIssueVirtualAccountRequest(body: IssueVirtualAccountRequest): void; export type IssueBillingKeyWithCustomerKeyRequest = { customerKey: string; cardNumber: string; cardExpirationYear: string; cardExpirationMonth: string; customerIdentityNumber: string; cardPassword?: string; customerName?: string; customerEmail?: string; vbv?: { cavv: string; xid: string; eci: string; }; }; export declare function validateIssueBillingKeyWithCustomerKey(data: IssueBillingKeyWithCustomerKeyRequest): void; export type IssueBillingKeyWithAuthKeyRequest = { authKey: string; customerKey: string; }; export type BillingConfirmRequest = { amount: number; customerKey: string; orderId: string; orderName: string; customerEmail?: string; customerName?: string; taxFreeAmount?: number; cardInstallmentPlan?: number; }; export type TransactionInquiryRequest = { startDate: string; endDate: string; startingAfter?: string; limit?: number; }; export type SettlementInquiryRequest = { startDate: string; endDate: string; dateType?: "soldDate" | "paidOutDate"; page?: number; size?: number; }; export type SettlementManuallyRequest = { paymentKey: PaymentKey; }; export type IssueCashReceiptRequest = { amount: number; orderId: string; orderName: string; customerIdentityNumber: string; type: '소득공제' | '지출증빙'; taxFreeAmount?: number; }; export type CashReceiptInquiryRequest = { requestDate: string; cursor?: number; limit?: number; }; export {};