export interface IDriverClient = Record, InquiryResultRawType extends Record = Record> { isSandbox: boolean; sandbox(on: boolean): ThisType>; removeHeader(key: string): ThisType>; addHeader(key: string, value: string, override: boolean): ThisType>; setDescription(desc: string): ThisType>; getDescription(): string; setToken(token: string): ThisType>; getToken(): string; createPayment(opts: CreatePaymentType): Promise; verifyPayment(opts: IVerifyPaymentRequired): Promise>; inquiryPayment(opts: IinquiryPaymentRequired): Promise>; toCreatePaymentResult(raw: unknown): ICreatePaymentResult; toVerifyPaymentResult(raw: unknown): IVerifyPaymentResult; toInquiryResult(raw: unknown): BasePaymentStatus; rebuildHTTP(baseURL?: string, headerOpts?: Record): ThisType>; } export interface ICreatePaymentRequired { orderId: string; amount: string; callback_url: string; description: string; } export interface ICreatePaymentOptional { name?: string; phone?: string; mail?: string; } export interface ICreatePaymentResult { authorityId: string; redirectUrl: string; } export interface IVerifyPaymentRequired { amount: string; orderId: string; authorityId: string; } export interface IinquiryPaymentRequired { authorityId: string; orderId: string; } export interface IVerifyPaymentResult extends BasePaymentStatus { card?: string; cardHash?: string; } export interface BasePaymentStatus { status: "paid" | "verified" | "pending" | "failed" | "reversed"; statusCode: string; raw: RawType; }