import { ArticleType, ArticleClass, ArticleFlag, Allergen } from './globalConst'; import { IR8Modifier } from './IR8Modifier'; import { IR8BtnProps } from './IR8BtnProps'; /** FireStore Database Article JSON Format. Same as IR8Article. */ export declare type IR8ArticleFS = IR8Article; /** * Articles * Stored Inside La Carte * */ export interface IR8Article { guid: string; plu: string; name: string; category?: string; groups?: string[]; artType: ArticleType; artClass: ArticleClass; flags?: { [key in ArticleFlag]: boolean; }; nameProd?: string; nameAdd?: string; price?: number; prices?: { [key: number]: number; }; modifiers?: { [key: number]: Array; }; modifiersTmpls?: string[]; description?: string; extref?: string; tags?: string[]; webOrderPlatforms?: string[]; btnProps?: IR8BtnProps; allergens?: Allergen[]; calories?: number; imageToken?: string; paperbookOrder?: number; paperbookMemo?: string; } export declare function ArticleInitialValue(): Partial; /** Default Validation Article * Throw Error if fail */ export declare function CheckArticleIsValid(Obj: Partial | Partial): void; /** Default Validation Article * return Error message if failure */ export declare function ArticleIsValid(Obj: Partial | Partial): string; /** Serialize IR8Article to Firestore JSON */ export declare function Article2JSON(Obj: Partial): IR8ArticleFS; /** Serialize Firestore JSON to IR8Article. json can be undefined */ export declare function JSON2Article(json: Partial | undefined, target: IR8Article): void; /** New Article from Firestore JSON */ export declare function JSONAsArticle(json?: Partial): IR8Article;