/** * NOTE: This file is auto generated by Xendit. * Do not edit the class manually. * Improvements? Share your ideas at https://github.com/xendit/xendit-node */ import * as runtime from '../../runtime'; import type { CreateInvoiceRequest, Invoice, InvoiceClientType, InvoiceStatus } from '../models'; export interface CreateInvoiceOperationRequest { data: CreateInvoiceRequest; forUserId?: string; } export interface GetInvoiceByIdRequest { invoiceId: string; forUserId?: string; } export interface GetInvoicesRequest { forUserId?: string; externalId?: string; statuses?: Array; limit?: number; createdAfter?: Date; createdBefore?: Date; paidAfter?: Date; paidBefore?: Date; expiredAfter?: Date; expiredBefore?: Date; lastInvoice?: string; clientTypes?: Array; paymentChannels?: Array; onDemandLink?: string; recurringPaymentId?: string; } export interface ExpireInvoiceRequest { invoiceId: string; forUserId?: string; } /** * */ export declare class InvoiceApi extends runtime.BaseAPI { secretKey: string; xenditURL: string; constructor({ secretKey, xenditURL }: { secretKey: string; xenditURL?: string; }); /** * Create an invoice */ private createInvoiceRaw; /** * Create an invoice */ createInvoice(requestParameters: CreateInvoiceOperationRequest): Promise; /** * Get invoice by invoice id */ private getInvoiceByIdRaw; /** * Get invoice by invoice id */ getInvoiceById(requestParameters: GetInvoiceByIdRequest): Promise; /** * Get all Invoices */ private getInvoicesRaw; /** * Get all Invoices */ getInvoices(requestParameters?: GetInvoicesRequest): Promise>; /** * Manually expire an invoice */ private expireInvoiceRaw; /** * Manually expire an invoice */ expireInvoice(requestParameters: ExpireInvoiceRequest): Promise; }