import { TransactionBaseService } from "@medusajs/medusa";
import { DocumentSettings } from "../models/document-settings";
import { DocumentAddress, InvoiceResult } from "./types/api";
import { InvoiceTemplateKind } from "./types/template-kind";
export default class InvoiceService extends TransactionBaseService {
    private readonly orderService;
    private readonly documentInvoiceSettingsService;
    private readonly loggedInUser_;
    constructor(container: any);
    private calculateTemplateKind;
    private calculateFormatNumber;
    private getNextInvoiceNumber;
    private copySettingsIfPossible;
    getTestDisplayNumber(formatNumber?: string, forcedNumber?: string): Promise<string | undefined>;
    getInvoiceTemplate(): Promise<string | undefined>;
    getStoreLogo(): Promise<string | undefined>;
    updateStoreLogo(newLogoSource: string): Promise<DocumentSettings | undefined>;
    updateStoreDocumentAddress(newAddress: DocumentAddress): Promise<DocumentSettings | undefined>;
    getLastDocumentSettings(): Promise<DocumentSettings | undefined>;
    getDocumentSettings(): Promise<DocumentSettings | undefined>;
    getInvoice(invoiceId: string, includeBuffer?: boolean): Promise<InvoiceResult>;
    generateInvoiceForOrder(orderId: string): Promise<InvoiceResult>;
    generateTestInvoice(templateKind: InvoiceTemplateKind): Promise<InvoiceResult>;
}
