import type { invoice_CreateInvoiceRequest } from '../models/invoice_CreateInvoiceRequest'; import type { invoice_GetInvoiceResponse } from '../models/invoice_GetInvoiceResponse'; import type { invoice_Invoice } from '../models/invoice_Invoice'; import type { CancelablePromise } from '../core/CancelablePromise'; export declare class InvoicesService { /** * List invoices * * Returns a paginated list of invoices for the portal. Supports filtering * by client, company, and subscription. * * @param clientId Filter by client ID * @param companyId Filter by company ID (mutually exclusive with clientId) * @param includeCompanyInvoices Include company-level invoices in the results * @param subscriptionId Filter by subscription ID * @param limit Maximum number of records to return * @param nextToken Pagination cursor returned by a previous request * * @example * await assembly.listInvoices(); */ static listInvoices({ clientId, companyId, includeCompanyInvoices, subscriptionId, limit, nextToken, }: { /** * Filter by client ID */ clientId?: string; /** * Filter by company ID (mutually exclusive with clientId) */ companyId?: string; /** * Include company-level invoices in the results */ includeCompanyInvoices?: boolean; /** * Filter by subscription ID */ subscriptionId?: string; /** * Maximum number of records to return */ limit?: number; /** * Pagination cursor returned by a previous request */ nextToken?: string; }): CancelablePromise; /** * Create an invoice * * Creates an invoice for a client or company. Requires a recipient * (clientId or companyId) and at least one line item. The collection method * determines how the invoice is collected. * * @example * await assembly.createInvoice({ requestBody: ... }); */ static createInvoice({ requestBody, }: { /** * Invoice to create */ requestBody: invoice_CreateInvoiceRequest; }): CancelablePromise; /** * Retrieve an invoice * * Returns a single invoice by ID. * * @param id Invoice ID * * @example * await assembly.retrieveInvoice({ id: ... }); */ static retrieveInvoice({ id, }: { /** * Invoice ID */ id: string; }): CancelablePromise; }