import type { WorkSheet } from 'xlsx';
export interface SupplierRow {
    id: string;
    name: string;
    regNo: string;
    addressLine1: string;
    addressLine2: string;
    addressCity: string;
    addressPostcode: string;
    addressState: string;
    addressCountry: string;
    picName: string;
    picPhoneNumber: string;
    picEmail: string;
}
export interface ImportCreateResult {
    type: 'create';
    supplier: FdoSupplier;
    excelRowNumber: number;
    errors: string[];
}
export interface ImportUpdateResult {
    type: 'update';
    original: FdoSupplier;
    supplier: FdoSupplier;
    excelRowNumber: number;
    errors: string[];
}
export type ImportResult = {
    invalidExcel: boolean;
    invalidExcelMessage?: string;
    importCreateResult: ImportCreateResult[];
    importUpdateResult: ImportUpdateResult[];
};
export type ObjectWithIndex<T> = {
    index: number;
    data: T;
};
export declare function supplierToExcelRow(supplier: FdoSupplier): SupplierRow;
export type ColIdHeader<T> = {
    id: keyof T;
    name: string;
};
export declare function getExcelHeaders(): ColIdHeader<SupplierRow>[];
export declare function getRequiredColHeaders(): ColIdHeader<SupplierRow>[];
export declare function exportSuppliers(): string;
export declare function exportSuppliersTemplate(): string;
export declare function worksheetToSkuRow(sheet: WorkSheet): ObjectWithIndex<SupplierRow>[];
export declare function importSupplierToCreateSupplier(row: SupplierRow, index: number): ImportCreateResult;
export declare function getSkuToCreateUpdate(sheet: WorkSheet): ImportResult;
