export interface ContactInfo {
    phone: string;
    mobile: string;
    email: string;
    website?: string;
}
export interface Address {
    street: string;
    postalCode: string;
    city: string;
}
export interface InvoiceSender {
    name: string;
    company?: string;
    address: Address;
    contactInfo: ContactInfo;
    businessOwner?: string;
    vatId?: string;
}
export interface InvoiceRecipient {
    name: string;
    address: Address;
}
export interface InvoiceDetails {
    invoiceNumber: string;
    customerNumber: string;
    invoiceDate: string;
    deliveryDate: string;
    servicePeriod: string;
    dueDate: string;
    vatId?: string;
}
export interface Salutation {
    greeting: string;
    introduction: string;
}
export interface InvoiceItem {
    description: string;
    quantity: number;
    unit: string;
    vatRate: number;
    unitPrice: number;
    total: number;
    currency: string;
}
export interface InvoiceTotals {
    netAmount: number;
    vatRate: number;
    vatAmount: number;
    grossAmount: number;
    currency: string;
}
export interface PaymentInfo {
    paymentTerms: string;
    dueDate: string;
    bank: string;
    accountHolder: string;
    iban: string;
    bic: string;
}
export interface Metadata {
    createdWith: string;
    creationDate: string;
    filename: string;
}
export interface Invoice {
    sender: InvoiceSender;
    recipient: InvoiceRecipient;
    details: InvoiceDetails;
    salutation: Salutation;
    items: InvoiceItem[];
    totals: InvoiceTotals;
    paymentInfo: PaymentInfo;
    metadata: Metadata;
}
export interface InvoiceData {
    invoices: Invoice[];
    extractionDate: string;
    invoiceCount: number;
    formatVersion: string;
    description: string;
}
export interface PDFOptions {
    template?: 'default' | 'modern' | 'classic';
    language?: 'de' | 'en';
    includeLogo?: boolean;
    logoPath?: string;
}
//# sourceMappingURL=invoice.types.d.ts.map