export default class Menu { menu: undefined; } declare global { export interface IMenu { id: string; version: number; merchantId: string; stepId: string; categoryId: string; menuId?: string; menuCategoryId?: string; shortName?: string; name: string; desc: string; translations: IMenuTranslation[]; image: string; weekdays: number[]; timerange: ITimeslot[]; promotedTimerange: ITimeslot[]; promotedDays?: number[] | null; tags: IMenuTag[]; price: number; discount: number; prices?: IMenuPrice[] | null; max?: number; priceUndetermined: boolean; nonTakeawayDisabled: boolean; takeawayDisabled: boolean; options: IMenuOptionGroup[]; promoted: boolean; promotedWeight: number; defaultSelected: boolean; defaultQuantity: number; sold: boolean; disabled: boolean; excludedDiscount: boolean; excludedSurcharge: boolean; required: boolean; deleted: boolean; step: string; stepIndex: number; weight: number; openingPrompt: boolean; code: string; inventory: number; stockAlertLevel: number; printerSetting: string; createdAt: string; } export interface ISet extends IMenu { steps: ISetStep[]; waiterOnly: boolean; disabled: boolean; } export interface ISetMenu extends IMenu { min?: number; } export interface IMenuTranslation { locale: string; name: string; desc: string; } export interface ISetStep { key: string; name: string; desc: string; locale?: string; min: number; max: number; optional: boolean; dependsOnSetMenuItem: string; autoNextStep: boolean; overrideMinMax: number; } export interface IMenuTag { id?: string; name: string; locale?: string; image?: string; } export interface IMenuPrice { type: string; price: number; discount: number; } export interface IMenuOptionGroup { id: string; name: string; options: IMenuOptionItem[]; multiple: boolean; min: number; max: number; } export interface IMenuOptionItem { id: string; name: string; price: number; max: number; hidden: boolean; } export interface ITimeslot { hour: number; minute: number; second: number; } export interface IGetCategorySetsQuery { tags: string[]; promoted: boolean; soldOut: boolean; takeaway: boolean; search: string; time: Date; } export interface ICreateCategoryRequestData { parentId: string; name: string; desc: string; locale: string; isSet: boolean; days: number[]; start: ITimeslot; end: ITimeslot; waiterOnly: boolean; takeawayOnly: boolean; excludedDiscount: boolean; excludedSurcharge: boolean; code: string; type?: 'SINGLE' | 'SET'; } export interface ICreateSetRequestData { name: string; desc: string; locale: string; categoryID: string; price: number; discount: number; priceUndetermined: boolean; promoted: boolean; excludedDiscount: boolean; excludedSurcharge: boolean; weight: number; days: number[]; start: ITimeslot; end: ITimeslot; code: string; shortName: string; promotedStart: ITimeslot; promotedEnd: ITimeslot; promotedDays: number[]; } export interface IUpdateSetRequestData extends ICreateSetRequestData { openingPrompt: boolean; inventory: number; stockAlertLevel: number; } export interface ICreateMenuRequestData { name: string; desc: string; locale: string; categoryID: string; price: number; discount: number; priceUndetermined: boolean; promoted: boolean; excludedDiscount: boolean; excludedSurcharge: boolean; weight: number; days: number[]; start: ITimeslot; end: ITimeslot; code: string; shortName: string; promotedStart: ITimeslot; promotedEnd: ITimeslot; promotedDays: number[]; } export interface IUpdateTakeawayPriceRequestData { type: TDeliveryType; price: number; discount: number; remove: boolean; } export interface IUpdateSetMenuRequestData { categoryID: string; setID: string; price: number; priceUndetermined: boolean; min: number; max: number; promoted: boolean; promotedStart: ITimeslot; promotedEnd: ITimeslot; defaultSelected: boolean; defaultQuantity: number; code: string; shortName: string; excludedDiscount: boolean; excludedSurcharge: boolean; required: boolean; } } //# sourceMappingURL=Menu.d.ts.map