import { EntryType } from './index.js';
/**
 * Header Entry Variables
 */
export interface Header {
    /**
     * User Licensed Dealer identification Number
     * 9 digits
     * מספר עוסק
     */
    licensedDealerId: string;
    /**
     * Month for which detailed report is being submitted
     * YYYYMM
     * תקופת הדיווח
     */
    reportMonth: string;
    /**
     * File Generation Date
     * YYYYMM
     * if undefined - current date will be inputed
     * תאריך הגשה
     */
    generationDate?: string;
    /**
     * Total amount of taxable sales (excluding VAT)
     * in the reported file
     * עסקאות חייבות
     */
    taxableSalesAmount: number;
    /**
     * Total VAT on taxable sales
     * in the reported file
     * מע"מ עסקאות חייבות
     */
    taxableSalesVat: number;
    /**
     * Total number of records for "sales".
     * Number of sales records - both taxable and zero-rated/ exempt
     * מס' עסקאות
     */
    salesRecordCount: number;
    /**
     * Total of zero value/exempt sales for period
     * עסקאות פטורות / אפס
     */
    zeroValOrExemptSalesCount: number;
    /**
     * Total VAT on "other" inputs required during period
     * תשומות אחרות
     */
    otherInputsVat: number;
    /**
     * Total VAT on "equipment" inputs required during period
     * תשומות ציוד
     */
    equipmentInputsVat: number;
    /**
     * Total number of records for inputs (other and equipment)
     * מס' תשומות
     */
    inputsCount: number;
    /**
     * Total VAT to pay / receive for period
     * positive value => pay
     * negative value => receive
     * סכום מדווח
     */
    totalVat: number;
}
/**
 * Transaction Entry Variables
 */
export interface Transaction {
    /**
     * Entry Type (document type)
     * סוג רשומה
     */
    entryType: EntryType;
    /**
     * VAT identification number – of the other side of the transaction.
     * For transactions entries – the customer
     * For inputs – the supplier
     * ספק / רשימון
     */
    vatId?: string;
    /**
     * Invoice Date/Reference.
     * YYYYMMDD
     * תאריך החשבונית
     */
    invoiceDate: string;
    /**
     * Reference group.
     * Series etc. zeros are possible at this stage
     * קבוצת אסמכתא
     */
    refGroup?: string;
    /**
     * Reference number.
     * First 9 positions from the right
     * מספר אסמכתא
     */
    refNumber?: string;
    /**
     * Total VAT in invoice / total VAT that is allowed (1/4…. 2/3…).
     * Rounded to the nearest shekel – always a positive value
     * סכום המע"מ
     */
    totalVat?: number;
    /**
     * Invoice total (excluding VAT)
     * Always the 100%, always a positive value, rounded to the nearest shekel
     * סכום
     */
    invoiceSum: number;
}
export interface Options {
    /**
     * defines if generator will throw error on minor/auto-fixable issue
     * default: false
     */
    strict?: boolean;
    /**
     * defines if generator will sort transactions (by entryType then invoiceDate)
     * default: true
     */
    sort?: boolean;
}
