import { HttpClient } from '../client/HttpClient'; import { Invoice, InvoiceListResponse, InvoiceListParams, CreateInvoiceInput, UpdateInvoiceInput } from '../types/invoice.types'; export declare class Invoices { private readonly httpClient; private readonly basePath; constructor(httpClient: HttpClient); /** * List all invoices with optional filtering * @param params - Query parameters for filtering and pagination * @returns Promise resolving to invoice list response */ list(params?: InvoiceListParams): Promise; /** * Get a specific invoice by document number * @param documentNumber - The invoice document number * @returns Promise resolving to the invoice */ get(documentNumber: string): Promise; /** * Create a new invoice * @param invoice - The invoice data * @returns Promise resolving to the created invoice */ create(invoice: CreateInvoiceInput): Promise; /** * Update an existing invoice * @param documentNumber - The invoice document number * @param invoice - The invoice data to update * @returns Promise resolving to the updated invoice */ update(documentNumber: string, invoice: UpdateInvoiceInput): Promise; /** * Bookkeep an invoice (finalize for accounting) * @param documentNumber - The invoice document number * @returns Promise resolving to the booked invoice */ bookkeep(documentNumber: string): Promise; /** * Cancel an invoice * @param documentNumber - The invoice document number * @returns Promise resolving to the cancelled invoice */ cancel(documentNumber: string): Promise; /** * Create a credit invoice from an existing invoice * @param documentNumber - The invoice document number * @returns Promise resolving to the credit invoice */ credit(documentNumber: string): Promise; /** * Send invoice by email * @param documentNumber - The invoice document number * @returns Promise resolving when the invoice is sent */ sendEmail(documentNumber: string): Promise; /** * Print an invoice (returns PDF) * @param documentNumber - The invoice document number * @returns Promise resolving to PDF buffer */ print(documentNumber: string): Promise; /** * Preview an invoice (returns PDF without marking as sent) * @param documentNumber - The invoice document number * @returns Promise resolving to PDF buffer */ preview(documentNumber: string): Promise; /** * Mark invoice as sent (external print) * @param documentNumber - The invoice document number * @returns Promise resolving to the updated invoice */ externalPrint(documentNumber: string): Promise; private validateCreateInput; } //# sourceMappingURL=Invoices.d.ts.map