import type { FdoDinero } from "@feedmepos/core/entity";
import type { FdtoV4Tax } from "@feedmepos/core-dart";
import type { F_ORDER_FROM, FdoMenuV4Item } from "@feedmepos/menu/entity";
export declare function generateItemThumbnailPath(itemId?: string, businessId?: string): string;
export declare function normalizeMinimumOrderQuantity<T extends Partial<FdoMenuV4Item>>(item: T, isOverride: boolean): T;
export interface MappedItem {
    _id: string;
    position?: number | null;
    code?: string | null;
    name: string;
    category?: string | null;
    price?: FdoDinero | null;
    taxes?: FdtoV4Tax[] | null;
    orderFrom?: F_ORDER_FROM | null;
    thumbnail?: string | null;
    fallbackCode?: string;
    fallbackName?: string;
    fallbackPrice?: FdoDinero | null;
    fallbackTaxes?: FdtoV4Tax[] | null;
    fallbackOrder?: F_ORDER_FROM;
    editPrice?: boolean;
    customAttributes?: Record<string, any>;
    additionalCategories?: FdoMenuV4Item["additionalCategories"];
}
export declare function hasDiff<Item extends MappedItem>(oriItem: Item, newItem: Item, toCompareKey?: keyof Item | "categories"): boolean;
export declare function createGetUpdatedValueFn(oldMapGetter: () => Record<string, MappedItem>, newMapGetter: () => Record<string, MappedItem>): <K extends keyof MappedItem>(id: string, key: K) => MappedItem[K] | undefined;
export declare function getUpdatedCategories(oldMap: Record<string, MappedItem>, newMap: Record<string, MappedItem>, id: string): any;
