export interface IQPayToken {
    token_type: string;
    refresh_expires_in: string;
    refresh_token: string;
    access_token: string;
    expires_in: string;
    session_state: string;
}
export interface IQPayConfig {
    url: string;
    username?: string;
    password?: string;
    invoiceCode?: string;
    callbackUrl?: string;
}
export interface IQPayCreateInvoiceData {
    qPayV2InvoiceCode: string;
    senderInvoiceNo: string;
    amount: string;
    senderBranchCode?: string;
    senderStaffCode?: string;
    invoiceReceiverCode: string;
    invoiceDescription: string;
    callbackUrl?: string;
}
export interface IQPayUrl {
    name: string;
    description: string;
    logo: string;
    link: string;
}
export interface IQPayCreateInvoice {
    data: IQPayCreateInvoiceData;
    token: string;
    config: IQPayConfig;
}
export interface IQPayDeleteInvoice {
    invoiceId: string;
    token: string;
    config: IQPayConfig;
}
export interface IQPayGetPayment {
    paymentId: string;
    token: string;
    config: IQPayConfig;
}
export interface IQPayCheckPayment {
    invoiceId: string;
    token: string;
    config: IQPayConfig;
}
export interface IQPayCreateInvoiceResponse {
    invoiceId: string;
    qrText: string;
    qPayShortUrl: string;
    urls: IQPayUrl[];
}
export interface IQPayCreateInvoiceFetchResponse {
    invoice_id: string;
    qr_text: string;
    qPay_shortUrl: string;
    urls: IQPayUrl[];
}
export interface IQPayGetPaymentResponse {
    paymentId?: string;
    paymentStatus?: QPayStatusEnum;
    paymentAmount?: number;
    paymentFee?: number;
    paymentWallet?: string;
    paymentType?: string;
    paymentDate?: Date;
}
export interface IQPayCheckPaymentResponse {
    count: number;
    paidAmount: number;
    rows?: IQPayGetPaymentResponse[];
}
export interface IQPayGetPaymentFetchResponse {
    payment_id?: string;
    payment_status?: QPayStatusEnum;
    payment_amount?: number;
    trx_fee?: number;
    payment_wallet?: string;
    payment_type?: string;
    payment_date?: Date;
}
export interface IQPayCheckPaymentFetchResponse {
    count: number;
    paid_amount: number;
    rows?: IQPayGetPaymentFetchResponse[];
}
export declare enum QPayStatusEnum {
    New = "NEW",
    Paid = "PAID",
    Failed = "FAILED",
    Refunded = "REFUNDED"
}
//# sourceMappingURL=types.d.ts.map