import { Entity } from '@loopback/repository';
import { AddressData } from './address-data.model';
import { InvoiceItem } from './invoice-item.model';
/**
 * Contains information about an invoice.
 */
export declare class BaseInvoice extends Entity {
    /**
     * The unique id of the invoice.
     */
    id: string;
    /**
     * The unique invoice number for this invoice.
     */
    number: string;
    /**
     * The actual content of the invoice.
     */
    items: InvoiceItem[];
    /**
     * The date at which the invoice was created.
     * Defaults to now.
     */
    date: Date;
    /**
     * The date at which the invoice items were/will be done.
     */
    performanceDate: Date;
    /**
     * The date at which the invoice has to be paid.
     */
    dueDate: Date;
    /**
     * The address data to which the invoice gets sent.
     * Contains information about the customer and the actual address.
     */
    customerAddressData: AddressData;
    /**
     * The text that is displayed before the invoice items.
     * Is an array of strings that represent paragraphs.
     */
    textBeforeItems: string[];
    /**
     * The text that is displayed after the invoice items.
     * Is an array of strings that represent paragraphs.
     */
    textAfterItems: string[];
    constructor(data?: Partial<BaseInvoice>);
}
/**
 * All relations of a invoice.
 */
export interface BaseInvoiceRelations {
}
/**
 * The invoice with all its relations.
 */
export type BaseInvoiceWithRelations = BaseInvoice & BaseInvoiceRelations;
