import type { WorkBook, WorkSheet } from 'xlsx'; import type { RevisionIdMeta } from '@feedmepos/inventory-core'; export declare enum ReservedSheetNames { Ingredients = "Ingredients" } export interface ClosingItemRow { code?: string; name?: string; /** abbrev for base unit or measurement unit */ unit: string; enabled: boolean; } export interface TemplateInfo { id: string; name: string; reference: string; locations: string[]; } export interface ImportCreateResult { type: 'create'; template: Omit; excelSheetName: string; errors: string[]; } export interface ImportUpdateResult { type: 'update'; original: FdoClosingTemplate; template: FdoClosingTemplate & RevisionIdMeta; excelSheetName: string; errors: string[]; } export type ImportResult = { invalidExcel: boolean; invalidExcelMessage?: string; importCreateResult: ImportCreateResult[]; importUpdateResult: ImportUpdateResult[]; }; export type ObjectWithIndex = { index: number; data: T; }; export declare const FakeUnit: FdoInventoryUnit; export declare function templateItemToExcelRow(item: FdoClosingTemplateItem): ClosingItemRow[]; export type ColIdHeader = { id: keyof T; name: string; }; export declare function getExcelHeaders(): ColIdHeader[]; export declare function exportTemplates(templates: FdoClosingTemplate[]): string; /** * Export a single template optimized for A4 printing * Includes: Template name, SKU list with index, code, name, and UOM columns with borders */ export declare function exportSingleTemplateForPrint(template: FdoClosingTemplate): string; export declare function exportImportTemplate(): string; /** @returns empty array if for all locations */ export declare function extractLocations(locationRow: string[]): { location?: FdoInventoryLocation; errors: string[]; }[]; export declare function worksheetToTemplateMeta(sheet: WorkSheet): TemplateInfo; export declare function worksheetToSkuRow(sheet: WorkSheet): ObjectWithIndex[]; export declare function getSkuToCreateUpdate(workbook: WorkBook): Promise;