import BaseCrud from "./BaseCrud"; import { BaseStatic } from "../interfaces/BaseStatic"; import { InvoicesStatic } from "../interfaces/InvoicesStatic"; import { PositionsStatic } from "../interfaces/PositionsStatic"; export default class Invoices extends BaseCrud { constructor(apiToken: string); /** * Send an invoice by email. * * @param {number} id * @param {Partial} ressource * @returns {Promise} * @memberof Invoices */ send(id: number, ressource: Partial): Promise; /** * @deprecated Use `send` instead. */ sent(id: number, ressource: Partial): Promise; cancel(id: number): Promise; /** * This action returns a pdf document of the invoice. * * @param {number} id * @param {0 | 1} [logopaper] Whether the PDF should be generated using the letterhead, or not. * @returns {Promise} * @memberof Invoices */ showPdf(id: number, logopaper?: 0 | 1): Promise; /** * Issue an invoice. The invoice must be in the draft status. * * @param {number} id * @returns {Promise} * @memberof Invoices */ issue(id: number): Promise; /** * Mark an invoice as sent. * * @param {number} id * @returns {Promise} * @memberof Invoices */ markAsSent(id: number): Promise; /** * revert a Invoice issue * * @param {number} id * @returns {Promise<{ success: boolean }>} * @memberof Invoices */ revertIssue(id: number): Promise<{ success: boolean; }>; /** * Create a payment for an invoice * * @param {number} invoiceId * @param {Date} date * @param {string} value * @param {number} [bank_account_id] * @param {number} [payment_service_id] * @return {*} {Promise} * @memberof Invoices */ createPayment(invoiceId: number, date: Date, value: string, bank_account_id?: number, payment_service_id?: number): Promise; /** * Get a payment for an invoice * * @param {number} invoiceId * @param {number} paymentId * @return {*} {Promise} * @memberof Invoices */ getPayment(invoiceId: number, paymentId: number): Promise; /** * Delete a payment for an invoice * * @param {number} invoiceId * @param {number} paymentId * @return {*} {Promise} * @memberof Invoices */ deletePayment(invoiceId: number, paymentId: number): Promise; /** * Create a default position for an invoice * * @param {number} invoiceId * @param {PositionsStatic.DefaultPositionCreate} position * @returns {Promise} * @memberof Invoices */ createDefaultPosition(invoiceId: number, position: PositionsStatic.DefaultPositionCreate): Promise; /** * Create an item position for an invoice * * @param {number} invoiceId * @param {PositionsStatic.ItemPositionCreate} position * @returns {Promise} * @memberof Invoices */ createItemPosition(invoiceId: number, position: PositionsStatic.ItemPositionCreate): Promise; /** * Create a text position for an invoice * * @param {number} invoiceId * @param {PositionsStatic.TextPositionCreate} position * @returns {Promise} * @memberof Invoices */ createTextPosition(invoiceId: number, position: PositionsStatic.TextPositionCreate): Promise; }