UNPKG

@servemate/dto

Version:

Type-safe DTO package for ServeMate types and Zod validation. Shared across server and client.

1,052 lines 42 kB
import { z } from 'zod'; export declare const ItemSortOptions: { readonly ID: "id"; readonly NAME: "name"; readonly PRICE: "price"; readonly POPULARITY: "popularityScore"; readonly INGREDIENTS: "ingredients"; readonly IS_AVAILABLE: "isAvailable"; readonly POPULARITY_SCORE: "popularityScore"; readonly CREATED_AT: "createdAt"; readonly UPDATED_AT: "updatedAt"; }; export declare const FoodItemSortOptions: { readonly TYPE: "type"; readonly CATEGORY: "category"; readonly ALLERGIES: "allergies"; readonly PREPARATION_TIME: "preparationTime"; readonly SPICY_LEVEL: "spicyLevel"; readonly CALORIES: "calories"; readonly IS_VEGAN: "isVegan"; readonly IS_GLUTEN_FREE: "isGlutenFree"; readonly ID: "id"; readonly NAME: "name"; readonly PRICE: "price"; readonly POPULARITY: "popularityScore"; readonly INGREDIENTS: "ingredients"; readonly IS_AVAILABLE: "isAvailable"; readonly POPULARITY_SCORE: "popularityScore"; readonly CREATED_AT: "createdAt"; readonly UPDATED_AT: "updatedAt"; }; export declare const DrinkItemSortOptions: { readonly CATEGORY: "category"; readonly VOLUME: "volume"; readonly ALCOHOL_PERCENTAGE: "alcoholPercentage"; readonly IS_CARBONATED: "isCarbonated"; readonly TEMPRITURE: "tempriture"; readonly ID: "id"; readonly NAME: "name"; readonly PRICE: "price"; readonly POPULARITY: "popularityScore"; readonly INGREDIENTS: "ingredients"; readonly IS_AVAILABLE: "isAvailable"; readonly POPULARITY_SCORE: "popularityScore"; readonly CREATED_AT: "createdAt"; readonly UPDATED_AT: "updatedAt"; }; export declare const baseItemSchema: z.ZodObject<{ id: z.ZodNumber; name: z.ZodString; price: z.ZodNumber; description: z.ZodString; ingredients: z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodString, "many">>, string[], unknown>; isAvailable: z.ZodDefault<z.ZodBoolean>; popularityScore: z.ZodDefault<z.ZodNumber>; image: z.ZodDefault<z.ZodNullable<z.ZodString>>; }, "strip", z.ZodTypeAny, { id: number; name: string; price: number; popularityScore: number; ingredients: string[]; isAvailable: boolean; description: string; image: string | null; }, { id: number; name: string; price: number; description: string; popularityScore?: number | undefined; ingredients?: unknown; isAvailable?: boolean | undefined; image?: string | null | undefined; }>; export declare const drinkItemSchema: z.ZodObject<{ id: z.ZodNumber; name: z.ZodString; price: z.ZodNumber; description: z.ZodString; ingredients: z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodString, "many">>, string[], unknown>; isAvailable: z.ZodDefault<z.ZodBoolean>; popularityScore: z.ZodDefault<z.ZodNumber>; image: z.ZodDefault<z.ZodNullable<z.ZodString>>; } & { category: z.ZodEffects<z.ZodNativeEnum<{ readonly BEER: "BEER"; readonly WINE: "WINE"; readonly SPIRITS: "SPIRITS"; readonly COFFEE: "COFFEE"; readonly TEA: "TEA"; readonly OTHER: "OTHER"; readonly SODA: "SODA"; readonly ALCOHOLIC: "ALCOHOLIC"; readonly NON_ALCOHOLIC: "NON_ALCOHOLIC"; }>, "OTHER" | "BEER" | "WINE" | "SPIRITS" | "COFFEE" | "TEA" | "SODA" | "ALCOHOLIC" | "NON_ALCOHOLIC", unknown>; volume: z.ZodNumber; alcoholPercentage: z.ZodNullable<z.ZodNumber>; isCarbonated: z.ZodEffects<z.ZodBoolean, boolean, unknown>; tempriture: z.ZodEffects<z.ZodNativeEnum<{ readonly COLD: "COLD"; readonly ROOM: "ROOM"; readonly HOT: "HOT"; }>, "HOT" | "COLD" | "ROOM", unknown>; }, "strip", z.ZodTypeAny, { id: number; name: string; price: number; popularityScore: number; ingredients: string[]; isAvailable: boolean; category: "OTHER" | "BEER" | "WINE" | "SPIRITS" | "COFFEE" | "TEA" | "SODA" | "ALCOHOLIC" | "NON_ALCOHOLIC"; volume: number; alcoholPercentage: number | null; isCarbonated: boolean; tempriture: "HOT" | "COLD" | "ROOM"; description: string; image: string | null; }, { id: number; name: string; price: number; volume: number; alcoholPercentage: number | null; description: string; popularityScore?: number | undefined; ingredients?: unknown; isAvailable?: boolean | undefined; category?: unknown; isCarbonated?: unknown; tempriture?: unknown; image?: string | null | undefined; }>; export type DrinkItemDTO = z.infer<typeof drinkItemSchema>; export declare const foodItemSchema: z.ZodObject<{ id: z.ZodNumber; name: z.ZodString; price: z.ZodNumber; description: z.ZodString; ingredients: z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodString, "many">>, string[], unknown>; isAvailable: z.ZodDefault<z.ZodBoolean>; popularityScore: z.ZodDefault<z.ZodNumber>; image: z.ZodDefault<z.ZodNullable<z.ZodString>>; } & { category: z.ZodEffects<z.ZodNativeEnum<{ readonly SALAD: "SALAD"; readonly MEAT: "MEAT"; readonly SOUP: "SOUP"; readonly FISH: "FISH"; readonly VEGGIES: "VEGGIES"; readonly OTHER: "OTHER"; readonly SEAFOOD: "SEAFOOD"; }>, "FISH" | "OTHER" | "SALAD" | "MEAT" | "SOUP" | "VEGGIES" | "SEAFOOD", unknown>; type: z.ZodNativeEnum<{ readonly APPETIZER: "APPETIZER"; readonly MAIN_COURSE: "MAIN_COURSE"; readonly DESSERT: "DESSERT"; readonly SIDES: "SIDES"; readonly SAUCE: "SAUCE"; readonly OTHER: "OTHER"; }>; isVegan: z.ZodDefault<z.ZodBoolean>; isGlutenFree: z.ZodDefault<z.ZodBoolean>; isVegetarian: z.ZodDefault<z.ZodBoolean>; allergies: z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<{ readonly GLUTEN: "GLUTEN"; readonly DAIRY: "DAIRY"; readonly EGG: "EGG"; readonly PEANUT: "PEANUT"; readonly TREENUT: "TREENUT"; readonly FISH: "FISH"; readonly SHELLFISH: "SHELLFISH"; readonly SOY: "SOY"; readonly SESAME: "SESAME"; readonly CELERY: "CELERY"; readonly MUSTARD: "MUSTARD"; readonly LUPIN: "LUPIN"; readonly SULPHITES: "SULPHITES"; readonly MOLLUSCS: "MOLLUSCS"; }>, "many">>, ("GLUTEN" | "DAIRY" | "EGG" | "PEANUT" | "TREENUT" | "FISH" | "SHELLFISH" | "SOY" | "SESAME" | "CELERY" | "MUSTARD" | "LUPIN" | "SULPHITES" | "MOLLUSCS")[], unknown>; preparationTime: z.ZodDefault<z.ZodNumber>; spicyLevel: z.ZodDefault<z.ZodNativeEnum<{ readonly NOT_SPICY: "NOT_SPICY"; readonly MILD: "MILD"; readonly MEDIUM: "MEDIUM"; readonly HOT: "HOT"; readonly EXTRA_HOT: "EXTRA_HOT"; }>>; calories: z.ZodDefault<z.ZodNullable<z.ZodNumber>>; }, "strip", z.ZodTypeAny, { type: "APPETIZER" | "MAIN_COURSE" | "DESSERT" | "SIDES" | "SAUCE" | "OTHER"; id: number; name: string; price: number; popularityScore: number; ingredients: string[]; isAvailable: boolean; category: "FISH" | "OTHER" | "SALAD" | "MEAT" | "SOUP" | "VEGGIES" | "SEAFOOD"; allergies: ("GLUTEN" | "DAIRY" | "EGG" | "PEANUT" | "TREENUT" | "FISH" | "SHELLFISH" | "SOY" | "SESAME" | "CELERY" | "MUSTARD" | "LUPIN" | "SULPHITES" | "MOLLUSCS")[]; preparationTime: number; spicyLevel: "NOT_SPICY" | "MILD" | "MEDIUM" | "HOT" | "EXTRA_HOT"; calories: number | null; isVegan: boolean; isGlutenFree: boolean; description: string; image: string | null; isVegetarian: boolean; }, { type: "APPETIZER" | "MAIN_COURSE" | "DESSERT" | "SIDES" | "SAUCE" | "OTHER"; id: number; name: string; price: number; description: string; popularityScore?: number | undefined; ingredients?: unknown; isAvailable?: boolean | undefined; category?: unknown; allergies?: unknown; preparationTime?: number | undefined; spicyLevel?: "NOT_SPICY" | "MILD" | "MEDIUM" | "HOT" | "EXTRA_HOT" | undefined; calories?: number | null | undefined; isVegan?: boolean | undefined; isGlutenFree?: boolean | undefined; image?: string | null | undefined; isVegetarian?: boolean | undefined; }>; export type FoodItemDTO = z.infer<typeof foodItemSchema>; export declare const createDrinkItemSchema: z.ZodObject<Omit<{ id: z.ZodNumber; name: z.ZodString; price: z.ZodNumber; description: z.ZodString; ingredients: z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodString, "many">>, string[], unknown>; isAvailable: z.ZodDefault<z.ZodBoolean>; popularityScore: z.ZodDefault<z.ZodNumber>; image: z.ZodDefault<z.ZodNullable<z.ZodString>>; } & { category: z.ZodEffects<z.ZodNativeEnum<{ readonly BEER: "BEER"; readonly WINE: "WINE"; readonly SPIRITS: "SPIRITS"; readonly COFFEE: "COFFEE"; readonly TEA: "TEA"; readonly OTHER: "OTHER"; readonly SODA: "SODA"; readonly ALCOHOLIC: "ALCOHOLIC"; readonly NON_ALCOHOLIC: "NON_ALCOHOLIC"; }>, "OTHER" | "BEER" | "WINE" | "SPIRITS" | "COFFEE" | "TEA" | "SODA" | "ALCOHOLIC" | "NON_ALCOHOLIC", unknown>; volume: z.ZodNumber; alcoholPercentage: z.ZodNullable<z.ZodNumber>; isCarbonated: z.ZodEffects<z.ZodBoolean, boolean, unknown>; tempriture: z.ZodEffects<z.ZodNativeEnum<{ readonly COLD: "COLD"; readonly ROOM: "ROOM"; readonly HOT: "HOT"; }>, "HOT" | "COLD" | "ROOM", unknown>; }, "id">, "strip", z.ZodTypeAny, { name: string; price: number; popularityScore: number; ingredients: string[]; isAvailable: boolean; category: "OTHER" | "BEER" | "WINE" | "SPIRITS" | "COFFEE" | "TEA" | "SODA" | "ALCOHOLIC" | "NON_ALCOHOLIC"; volume: number; alcoholPercentage: number | null; isCarbonated: boolean; tempriture: "HOT" | "COLD" | "ROOM"; description: string; image: string | null; }, { name: string; price: number; volume: number; alcoholPercentage: number | null; description: string; popularityScore?: number | undefined; ingredients?: unknown; isAvailable?: boolean | undefined; category?: unknown; isCarbonated?: unknown; tempriture?: unknown; image?: string | null | undefined; }>; export type CreateDrinkItemDTO = z.infer<typeof createDrinkItemSchema>; export declare const createFoodItemSchema: z.ZodObject<Omit<{ id: z.ZodNumber; name: z.ZodString; price: z.ZodNumber; description: z.ZodString; ingredients: z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodString, "many">>, string[], unknown>; isAvailable: z.ZodDefault<z.ZodBoolean>; popularityScore: z.ZodDefault<z.ZodNumber>; image: z.ZodDefault<z.ZodNullable<z.ZodString>>; } & { category: z.ZodEffects<z.ZodNativeEnum<{ readonly SALAD: "SALAD"; readonly MEAT: "MEAT"; readonly SOUP: "SOUP"; readonly FISH: "FISH"; readonly VEGGIES: "VEGGIES"; readonly OTHER: "OTHER"; readonly SEAFOOD: "SEAFOOD"; }>, "FISH" | "OTHER" | "SALAD" | "MEAT" | "SOUP" | "VEGGIES" | "SEAFOOD", unknown>; type: z.ZodNativeEnum<{ readonly APPETIZER: "APPETIZER"; readonly MAIN_COURSE: "MAIN_COURSE"; readonly DESSERT: "DESSERT"; readonly SIDES: "SIDES"; readonly SAUCE: "SAUCE"; readonly OTHER: "OTHER"; }>; isVegan: z.ZodDefault<z.ZodBoolean>; isGlutenFree: z.ZodDefault<z.ZodBoolean>; isVegetarian: z.ZodDefault<z.ZodBoolean>; allergies: z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<{ readonly GLUTEN: "GLUTEN"; readonly DAIRY: "DAIRY"; readonly EGG: "EGG"; readonly PEANUT: "PEANUT"; readonly TREENUT: "TREENUT"; readonly FISH: "FISH"; readonly SHELLFISH: "SHELLFISH"; readonly SOY: "SOY"; readonly SESAME: "SESAME"; readonly CELERY: "CELERY"; readonly MUSTARD: "MUSTARD"; readonly LUPIN: "LUPIN"; readonly SULPHITES: "SULPHITES"; readonly MOLLUSCS: "MOLLUSCS"; }>, "many">>, ("GLUTEN" | "DAIRY" | "EGG" | "PEANUT" | "TREENUT" | "FISH" | "SHELLFISH" | "SOY" | "SESAME" | "CELERY" | "MUSTARD" | "LUPIN" | "SULPHITES" | "MOLLUSCS")[], unknown>; preparationTime: z.ZodDefault<z.ZodNumber>; spicyLevel: z.ZodDefault<z.ZodNativeEnum<{ readonly NOT_SPICY: "NOT_SPICY"; readonly MILD: "MILD"; readonly MEDIUM: "MEDIUM"; readonly HOT: "HOT"; readonly EXTRA_HOT: "EXTRA_HOT"; }>>; calories: z.ZodDefault<z.ZodNullable<z.ZodNumber>>; }, "id">, "strip", z.ZodTypeAny, { type: "APPETIZER" | "MAIN_COURSE" | "DESSERT" | "SIDES" | "SAUCE" | "OTHER"; name: string; price: number; popularityScore: number; ingredients: string[]; isAvailable: boolean; category: "FISH" | "OTHER" | "SALAD" | "MEAT" | "SOUP" | "VEGGIES" | "SEAFOOD"; allergies: ("GLUTEN" | "DAIRY" | "EGG" | "PEANUT" | "TREENUT" | "FISH" | "SHELLFISH" | "SOY" | "SESAME" | "CELERY" | "MUSTARD" | "LUPIN" | "SULPHITES" | "MOLLUSCS")[]; preparationTime: number; spicyLevel: "NOT_SPICY" | "MILD" | "MEDIUM" | "HOT" | "EXTRA_HOT"; calories: number | null; isVegan: boolean; isGlutenFree: boolean; description: string; image: string | null; isVegetarian: boolean; }, { type: "APPETIZER" | "MAIN_COURSE" | "DESSERT" | "SIDES" | "SAUCE" | "OTHER"; name: string; price: number; description: string; popularityScore?: number | undefined; ingredients?: unknown; isAvailable?: boolean | undefined; category?: unknown; allergies?: unknown; preparationTime?: number | undefined; spicyLevel?: "NOT_SPICY" | "MILD" | "MEDIUM" | "HOT" | "EXTRA_HOT" | undefined; calories?: number | null | undefined; isVegan?: boolean | undefined; isGlutenFree?: boolean | undefined; image?: string | null | undefined; isVegetarian?: boolean | undefined; }>; export type CreateFoodItemDTO = z.infer<typeof createFoodItemSchema>; export declare const updateDrinkItemSchema: z.ZodObject<{ name: z.ZodOptional<z.ZodString>; price: z.ZodOptional<z.ZodNumber>; popularityScore: z.ZodOptional<z.ZodDefault<z.ZodNumber>>; ingredients: z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodString, "many">>, string[], unknown>>; isAvailable: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; category: z.ZodOptional<z.ZodEffects<z.ZodNativeEnum<{ readonly BEER: "BEER"; readonly WINE: "WINE"; readonly SPIRITS: "SPIRITS"; readonly COFFEE: "COFFEE"; readonly TEA: "TEA"; readonly OTHER: "OTHER"; readonly SODA: "SODA"; readonly ALCOHOLIC: "ALCOHOLIC"; readonly NON_ALCOHOLIC: "NON_ALCOHOLIC"; }>, "OTHER" | "BEER" | "WINE" | "SPIRITS" | "COFFEE" | "TEA" | "SODA" | "ALCOHOLIC" | "NON_ALCOHOLIC", unknown>>; volume: z.ZodOptional<z.ZodNumber>; alcoholPercentage: z.ZodOptional<z.ZodNullable<z.ZodNumber>>; isCarbonated: z.ZodOptional<z.ZodEffects<z.ZodBoolean, boolean, unknown>>; tempriture: z.ZodOptional<z.ZodEffects<z.ZodNativeEnum<{ readonly COLD: "COLD"; readonly ROOM: "ROOM"; readonly HOT: "HOT"; }>, "HOT" | "COLD" | "ROOM", unknown>>; description: z.ZodOptional<z.ZodString>; image: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodString>>>; }, "strip", z.ZodTypeAny, { name?: string | undefined; price?: number | undefined; popularityScore?: number | undefined; ingredients?: string[] | undefined; isAvailable?: boolean | undefined; category?: "OTHER" | "BEER" | "WINE" | "SPIRITS" | "COFFEE" | "TEA" | "SODA" | "ALCOHOLIC" | "NON_ALCOHOLIC" | undefined; volume?: number | undefined; alcoholPercentage?: number | null | undefined; isCarbonated?: boolean | undefined; tempriture?: "HOT" | "COLD" | "ROOM" | undefined; description?: string | undefined; image?: string | null | undefined; }, { name?: string | undefined; price?: number | undefined; popularityScore?: number | undefined; ingredients?: unknown; isAvailable?: boolean | undefined; category?: unknown; volume?: number | undefined; alcoholPercentage?: number | null | undefined; isCarbonated?: unknown; tempriture?: unknown; description?: string | undefined; image?: string | null | undefined; }>; export type UpdateDrinkItemDTO = z.infer<typeof updateDrinkItemSchema>; export declare const updateFoodItemSchema: z.ZodObject<{ type: z.ZodOptional<z.ZodNativeEnum<{ readonly APPETIZER: "APPETIZER"; readonly MAIN_COURSE: "MAIN_COURSE"; readonly DESSERT: "DESSERT"; readonly SIDES: "SIDES"; readonly SAUCE: "SAUCE"; readonly OTHER: "OTHER"; }>>; name: z.ZodOptional<z.ZodString>; price: z.ZodOptional<z.ZodNumber>; popularityScore: z.ZodOptional<z.ZodDefault<z.ZodNumber>>; ingredients: z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodString, "many">>, string[], unknown>>; isAvailable: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; category: z.ZodOptional<z.ZodEffects<z.ZodNativeEnum<{ readonly SALAD: "SALAD"; readonly MEAT: "MEAT"; readonly SOUP: "SOUP"; readonly FISH: "FISH"; readonly VEGGIES: "VEGGIES"; readonly OTHER: "OTHER"; readonly SEAFOOD: "SEAFOOD"; }>, "FISH" | "OTHER" | "SALAD" | "MEAT" | "SOUP" | "VEGGIES" | "SEAFOOD", unknown>>; allergies: z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<{ readonly GLUTEN: "GLUTEN"; readonly DAIRY: "DAIRY"; readonly EGG: "EGG"; readonly PEANUT: "PEANUT"; readonly TREENUT: "TREENUT"; readonly FISH: "FISH"; readonly SHELLFISH: "SHELLFISH"; readonly SOY: "SOY"; readonly SESAME: "SESAME"; readonly CELERY: "CELERY"; readonly MUSTARD: "MUSTARD"; readonly LUPIN: "LUPIN"; readonly SULPHITES: "SULPHITES"; readonly MOLLUSCS: "MOLLUSCS"; }>, "many">>, ("GLUTEN" | "DAIRY" | "EGG" | "PEANUT" | "TREENUT" | "FISH" | "SHELLFISH" | "SOY" | "SESAME" | "CELERY" | "MUSTARD" | "LUPIN" | "SULPHITES" | "MOLLUSCS")[], unknown>>; preparationTime: z.ZodOptional<z.ZodDefault<z.ZodNumber>>; spicyLevel: z.ZodOptional<z.ZodDefault<z.ZodNativeEnum<{ readonly NOT_SPICY: "NOT_SPICY"; readonly MILD: "MILD"; readonly MEDIUM: "MEDIUM"; readonly HOT: "HOT"; readonly EXTRA_HOT: "EXTRA_HOT"; }>>>; calories: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>; isVegan: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; isGlutenFree: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; description: z.ZodOptional<z.ZodString>; image: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodString>>>; isVegetarian: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; }, "strip", z.ZodTypeAny, { type?: "APPETIZER" | "MAIN_COURSE" | "DESSERT" | "SIDES" | "SAUCE" | "OTHER" | undefined; name?: string | undefined; price?: number | undefined; popularityScore?: number | undefined; ingredients?: string[] | undefined; isAvailable?: boolean | undefined; category?: "FISH" | "OTHER" | "SALAD" | "MEAT" | "SOUP" | "VEGGIES" | "SEAFOOD" | undefined; allergies?: ("GLUTEN" | "DAIRY" | "EGG" | "PEANUT" | "TREENUT" | "FISH" | "SHELLFISH" | "SOY" | "SESAME" | "CELERY" | "MUSTARD" | "LUPIN" | "SULPHITES" | "MOLLUSCS")[] | undefined; preparationTime?: number | undefined; spicyLevel?: "NOT_SPICY" | "MILD" | "MEDIUM" | "HOT" | "EXTRA_HOT" | undefined; calories?: number | null | undefined; isVegan?: boolean | undefined; isGlutenFree?: boolean | undefined; description?: string | undefined; image?: string | null | undefined; isVegetarian?: boolean | undefined; }, { type?: "APPETIZER" | "MAIN_COURSE" | "DESSERT" | "SIDES" | "SAUCE" | "OTHER" | undefined; name?: string | undefined; price?: number | undefined; popularityScore?: number | undefined; ingredients?: unknown; isAvailable?: boolean | undefined; category?: unknown; allergies?: unknown; preparationTime?: number | undefined; spicyLevel?: "NOT_SPICY" | "MILD" | "MEDIUM" | "HOT" | "EXTRA_HOT" | undefined; calories?: number | null | undefined; isVegan?: boolean | undefined; isGlutenFree?: boolean | undefined; description?: string | undefined; image?: string | null | undefined; isVegetarian?: boolean | undefined; }>; export type UpdateFoodItemDTO = z.infer<typeof updateFoodItemSchema>; export declare const searchFoodItemsSchema: z.ZodObject<{ id: z.ZodOptional<z.ZodNumber>; name: z.ZodOptional<z.ZodString>; price: z.ZodOptional<z.ZodNumber>; description: z.ZodOptional<z.ZodString>; ingredients: z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodString, "many">>, string[], unknown>>; isAvailable: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; popularityScore: z.ZodOptional<z.ZodDefault<z.ZodNumber>>; image: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodString>>>; category: z.ZodOptional<z.ZodEffects<z.ZodNativeEnum<{ readonly SALAD: "SALAD"; readonly MEAT: "MEAT"; readonly SOUP: "SOUP"; readonly FISH: "FISH"; readonly VEGGIES: "VEGGIES"; readonly OTHER: "OTHER"; readonly SEAFOOD: "SEAFOOD"; }>, "FISH" | "OTHER" | "SALAD" | "MEAT" | "SOUP" | "VEGGIES" | "SEAFOOD", unknown>>; type: z.ZodOptional<z.ZodNativeEnum<{ readonly APPETIZER: "APPETIZER"; readonly MAIN_COURSE: "MAIN_COURSE"; readonly DESSERT: "DESSERT"; readonly SIDES: "SIDES"; readonly SAUCE: "SAUCE"; readonly OTHER: "OTHER"; }>>; isVegan: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; isGlutenFree: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; isVegetarian: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; allergies: z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<{ readonly GLUTEN: "GLUTEN"; readonly DAIRY: "DAIRY"; readonly EGG: "EGG"; readonly PEANUT: "PEANUT"; readonly TREENUT: "TREENUT"; readonly FISH: "FISH"; readonly SHELLFISH: "SHELLFISH"; readonly SOY: "SOY"; readonly SESAME: "SESAME"; readonly CELERY: "CELERY"; readonly MUSTARD: "MUSTARD"; readonly LUPIN: "LUPIN"; readonly SULPHITES: "SULPHITES"; readonly MOLLUSCS: "MOLLUSCS"; }>, "many">>, ("GLUTEN" | "DAIRY" | "EGG" | "PEANUT" | "TREENUT" | "FISH" | "SHELLFISH" | "SOY" | "SESAME" | "CELERY" | "MUSTARD" | "LUPIN" | "SULPHITES" | "MOLLUSCS")[], unknown>>; preparationTime: z.ZodOptional<z.ZodDefault<z.ZodNumber>>; spicyLevel: z.ZodOptional<z.ZodDefault<z.ZodNativeEnum<{ readonly NOT_SPICY: "NOT_SPICY"; readonly MILD: "MILD"; readonly MEDIUM: "MEDIUM"; readonly HOT: "HOT"; readonly EXTRA_HOT: "EXTRA_HOT"; }>>>; calories: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>; } & { sortBy: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<{ readonly TYPE: "type"; readonly CATEGORY: "category"; readonly ALLERGIES: "allergies"; readonly PREPARATION_TIME: "preparationTime"; readonly SPICY_LEVEL: "spicyLevel"; readonly CALORIES: "calories"; readonly IS_VEGAN: "isVegan"; readonly IS_GLUTEN_FREE: "isGlutenFree"; readonly ID: "id"; readonly NAME: "name"; readonly PRICE: "price"; readonly POPULARITY: "popularityScore"; readonly INGREDIENTS: "ingredients"; readonly IS_AVAILABLE: "isAvailable"; readonly POPULARITY_SCORE: "popularityScore"; readonly CREATED_AT: "createdAt"; readonly UPDATED_AT: "updatedAt"; }>>>; page: z.ZodDefault<z.ZodNumber>; pageSize: z.ZodDefault<z.ZodNumber>; sortOrder: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<{ readonly ASC: "asc"; readonly DESC: "desc"; }>>>; }, "strip", z.ZodTypeAny, { page: number; pageSize: number; sortOrder: "asc" | "desc"; sortBy: "type" | "id" | "name" | "price" | "popularityScore" | "ingredients" | "isAvailable" | "createdAt" | "updatedAt" | "category" | "allergies" | "preparationTime" | "spicyLevel" | "calories" | "isVegan" | "isGlutenFree"; type?: "APPETIZER" | "MAIN_COURSE" | "DESSERT" | "SIDES" | "SAUCE" | "OTHER" | undefined; id?: number | undefined; name?: string | undefined; price?: number | undefined; popularityScore?: number | undefined; ingredients?: string[] | undefined; isAvailable?: boolean | undefined; category?: "FISH" | "OTHER" | "SALAD" | "MEAT" | "SOUP" | "VEGGIES" | "SEAFOOD" | undefined; allergies?: ("GLUTEN" | "DAIRY" | "EGG" | "PEANUT" | "TREENUT" | "FISH" | "SHELLFISH" | "SOY" | "SESAME" | "CELERY" | "MUSTARD" | "LUPIN" | "SULPHITES" | "MOLLUSCS")[] | undefined; preparationTime?: number | undefined; spicyLevel?: "NOT_SPICY" | "MILD" | "MEDIUM" | "HOT" | "EXTRA_HOT" | undefined; calories?: number | null | undefined; isVegan?: boolean | undefined; isGlutenFree?: boolean | undefined; description?: string | undefined; image?: string | null | undefined; isVegetarian?: boolean | undefined; }, { type?: "APPETIZER" | "MAIN_COURSE" | "DESSERT" | "SIDES" | "SAUCE" | "OTHER" | undefined; page?: number | undefined; pageSize?: number | undefined; sortOrder?: "asc" | "desc" | undefined; id?: number | undefined; name?: string | undefined; price?: number | undefined; popularityScore?: number | undefined; ingredients?: unknown; isAvailable?: boolean | undefined; category?: unknown; allergies?: unknown; preparationTime?: number | undefined; spicyLevel?: "NOT_SPICY" | "MILD" | "MEDIUM" | "HOT" | "EXTRA_HOT" | undefined; calories?: number | null | undefined; isVegan?: boolean | undefined; isGlutenFree?: boolean | undefined; description?: string | undefined; image?: string | null | undefined; isVegetarian?: boolean | undefined; sortBy?: "type" | "id" | "name" | "price" | "popularityScore" | "ingredients" | "isAvailable" | "createdAt" | "updatedAt" | "category" | "allergies" | "preparationTime" | "spicyLevel" | "calories" | "isVegan" | "isGlutenFree" | undefined; }>; export type SearchFoodItemsDTO = z.infer<typeof searchFoodItemsSchema>; export declare const searchDrinkItemsSchema: z.ZodObject<{ id: z.ZodOptional<z.ZodNumber>; name: z.ZodOptional<z.ZodString>; price: z.ZodOptional<z.ZodNumber>; description: z.ZodOptional<z.ZodString>; ingredients: z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodString, "many">>, string[], unknown>>; isAvailable: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; popularityScore: z.ZodOptional<z.ZodDefault<z.ZodNumber>>; image: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodString>>>; category: z.ZodOptional<z.ZodEffects<z.ZodNativeEnum<{ readonly BEER: "BEER"; readonly WINE: "WINE"; readonly SPIRITS: "SPIRITS"; readonly COFFEE: "COFFEE"; readonly TEA: "TEA"; readonly OTHER: "OTHER"; readonly SODA: "SODA"; readonly ALCOHOLIC: "ALCOHOLIC"; readonly NON_ALCOHOLIC: "NON_ALCOHOLIC"; }>, "OTHER" | "BEER" | "WINE" | "SPIRITS" | "COFFEE" | "TEA" | "SODA" | "ALCOHOLIC" | "NON_ALCOHOLIC", unknown>>; volume: z.ZodOptional<z.ZodNumber>; alcoholPercentage: z.ZodOptional<z.ZodNullable<z.ZodNumber>>; isCarbonated: z.ZodOptional<z.ZodEffects<z.ZodBoolean, boolean, unknown>>; tempriture: z.ZodOptional<z.ZodEffects<z.ZodNativeEnum<{ readonly COLD: "COLD"; readonly ROOM: "ROOM"; readonly HOT: "HOT"; }>, "HOT" | "COLD" | "ROOM", unknown>>; } & { sortBy: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<{ readonly CATEGORY: "category"; readonly VOLUME: "volume"; readonly ALCOHOL_PERCENTAGE: "alcoholPercentage"; readonly IS_CARBONATED: "isCarbonated"; readonly TEMPRITURE: "tempriture"; readonly ID: "id"; readonly NAME: "name"; readonly PRICE: "price"; readonly POPULARITY: "popularityScore"; readonly INGREDIENTS: "ingredients"; readonly IS_AVAILABLE: "isAvailable"; readonly POPULARITY_SCORE: "popularityScore"; readonly CREATED_AT: "createdAt"; readonly UPDATED_AT: "updatedAt"; }>>>; page: z.ZodDefault<z.ZodNumber>; pageSize: z.ZodDefault<z.ZodNumber>; sortOrder: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<{ readonly ASC: "asc"; readonly DESC: "desc"; }>>>; }, "strip", z.ZodTypeAny, { page: number; pageSize: number; sortOrder: "asc" | "desc"; sortBy: "id" | "name" | "price" | "popularityScore" | "ingredients" | "isAvailable" | "createdAt" | "updatedAt" | "category" | "volume" | "alcoholPercentage" | "isCarbonated" | "tempriture"; id?: number | undefined; name?: string | undefined; price?: number | undefined; popularityScore?: number | undefined; ingredients?: string[] | undefined; isAvailable?: boolean | undefined; category?: "OTHER" | "BEER" | "WINE" | "SPIRITS" | "COFFEE" | "TEA" | "SODA" | "ALCOHOLIC" | "NON_ALCOHOLIC" | undefined; volume?: number | undefined; alcoholPercentage?: number | null | undefined; isCarbonated?: boolean | undefined; tempriture?: "HOT" | "COLD" | "ROOM" | undefined; description?: string | undefined; image?: string | null | undefined; }, { page?: number | undefined; pageSize?: number | undefined; sortOrder?: "asc" | "desc" | undefined; id?: number | undefined; name?: string | undefined; price?: number | undefined; popularityScore?: number | undefined; ingredients?: unknown; isAvailable?: boolean | undefined; category?: unknown; volume?: number | undefined; alcoholPercentage?: number | null | undefined; isCarbonated?: unknown; tempriture?: unknown; description?: string | undefined; image?: string | null | undefined; sortBy?: "id" | "name" | "price" | "popularityScore" | "ingredients" | "isAvailable" | "createdAt" | "updatedAt" | "category" | "volume" | "alcoholPercentage" | "isCarbonated" | "tempriture" | undefined; }>; export type SearchDrinkItemsDTO = z.infer<typeof searchDrinkItemsSchema>; /** * Schema for a list of food items. * * This schema extends the `listPropsSchema` to include an array of food items. * Each food item in the array must conform to the `foodItemSchema`. * * @constant * @type {ZodSchema} * * @example * const validData = { * items: [ * { name: "Apple", calories: 95 }, * { name: "Banana", calories: 105 } * ] * }; * * foodItemsListSchema.parse(validData); // This will pass validation * * @see {@link listPropsSchema} for the base schema properties. * @see {@link foodItemSchema} for the individual food item schema. */ export declare const foodItemsListSchema: z.ZodObject<{ page: z.ZodDefault<z.ZodNumber>; pageSize: z.ZodDefault<z.ZodNumber>; totalPages: z.ZodNumber; totalCount: z.ZodNumber; } & { items: z.ZodArray<z.ZodObject<{ id: z.ZodNumber; name: z.ZodString; price: z.ZodNumber; description: z.ZodString; ingredients: z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodString, "many">>, string[], unknown>; isAvailable: z.ZodDefault<z.ZodBoolean>; popularityScore: z.ZodDefault<z.ZodNumber>; image: z.ZodDefault<z.ZodNullable<z.ZodString>>; } & { category: z.ZodEffects<z.ZodNativeEnum<{ readonly SALAD: "SALAD"; readonly MEAT: "MEAT"; readonly SOUP: "SOUP"; readonly FISH: "FISH"; readonly VEGGIES: "VEGGIES"; readonly OTHER: "OTHER"; readonly SEAFOOD: "SEAFOOD"; }>, "FISH" | "OTHER" | "SALAD" | "MEAT" | "SOUP" | "VEGGIES" | "SEAFOOD", unknown>; type: z.ZodNativeEnum<{ readonly APPETIZER: "APPETIZER"; readonly MAIN_COURSE: "MAIN_COURSE"; readonly DESSERT: "DESSERT"; readonly SIDES: "SIDES"; readonly SAUCE: "SAUCE"; readonly OTHER: "OTHER"; }>; isVegan: z.ZodDefault<z.ZodBoolean>; isGlutenFree: z.ZodDefault<z.ZodBoolean>; isVegetarian: z.ZodDefault<z.ZodBoolean>; allergies: z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<{ readonly GLUTEN: "GLUTEN"; readonly DAIRY: "DAIRY"; readonly EGG: "EGG"; readonly PEANUT: "PEANUT"; readonly TREENUT: "TREENUT"; readonly FISH: "FISH"; readonly SHELLFISH: "SHELLFISH"; readonly SOY: "SOY"; readonly SESAME: "SESAME"; readonly CELERY: "CELERY"; readonly MUSTARD: "MUSTARD"; readonly LUPIN: "LUPIN"; readonly SULPHITES: "SULPHITES"; readonly MOLLUSCS: "MOLLUSCS"; }>, "many">>, ("GLUTEN" | "DAIRY" | "EGG" | "PEANUT" | "TREENUT" | "FISH" | "SHELLFISH" | "SOY" | "SESAME" | "CELERY" | "MUSTARD" | "LUPIN" | "SULPHITES" | "MOLLUSCS")[], unknown>; preparationTime: z.ZodDefault<z.ZodNumber>; spicyLevel: z.ZodDefault<z.ZodNativeEnum<{ readonly NOT_SPICY: "NOT_SPICY"; readonly MILD: "MILD"; readonly MEDIUM: "MEDIUM"; readonly HOT: "HOT"; readonly EXTRA_HOT: "EXTRA_HOT"; }>>; calories: z.ZodDefault<z.ZodNullable<z.ZodNumber>>; }, "strip", z.ZodTypeAny, { type: "APPETIZER" | "MAIN_COURSE" | "DESSERT" | "SIDES" | "SAUCE" | "OTHER"; id: number; name: string; price: number; popularityScore: number; ingredients: string[]; isAvailable: boolean; category: "FISH" | "OTHER" | "SALAD" | "MEAT" | "SOUP" | "VEGGIES" | "SEAFOOD"; allergies: ("GLUTEN" | "DAIRY" | "EGG" | "PEANUT" | "TREENUT" | "FISH" | "SHELLFISH" | "SOY" | "SESAME" | "CELERY" | "MUSTARD" | "LUPIN" | "SULPHITES" | "MOLLUSCS")[]; preparationTime: number; spicyLevel: "NOT_SPICY" | "MILD" | "MEDIUM" | "HOT" | "EXTRA_HOT"; calories: number | null; isVegan: boolean; isGlutenFree: boolean; description: string; image: string | null; isVegetarian: boolean; }, { type: "APPETIZER" | "MAIN_COURSE" | "DESSERT" | "SIDES" | "SAUCE" | "OTHER"; id: number; name: string; price: number; description: string; popularityScore?: number | undefined; ingredients?: unknown; isAvailable?: boolean | undefined; category?: unknown; allergies?: unknown; preparationTime?: number | undefined; spicyLevel?: "NOT_SPICY" | "MILD" | "MEDIUM" | "HOT" | "EXTRA_HOT" | undefined; calories?: number | null | undefined; isVegan?: boolean | undefined; isGlutenFree?: boolean | undefined; image?: string | null | undefined; isVegetarian?: boolean | undefined; }>, "many">; }, "strip", z.ZodTypeAny, { page: number; pageSize: number; totalPages: number; totalCount: number; items: { type: "APPETIZER" | "MAIN_COURSE" | "DESSERT" | "SIDES" | "SAUCE" | "OTHER"; id: number; name: string; price: number; popularityScore: number; ingredients: string[]; isAvailable: boolean; category: "FISH" | "OTHER" | "SALAD" | "MEAT" | "SOUP" | "VEGGIES" | "SEAFOOD"; allergies: ("GLUTEN" | "DAIRY" | "EGG" | "PEANUT" | "TREENUT" | "FISH" | "SHELLFISH" | "SOY" | "SESAME" | "CELERY" | "MUSTARD" | "LUPIN" | "SULPHITES" | "MOLLUSCS")[]; preparationTime: number; spicyLevel: "NOT_SPICY" | "MILD" | "MEDIUM" | "HOT" | "EXTRA_HOT"; calories: number | null; isVegan: boolean; isGlutenFree: boolean; description: string; image: string | null; isVegetarian: boolean; }[]; }, { totalPages: number; totalCount: number; items: { type: "APPETIZER" | "MAIN_COURSE" | "DESSERT" | "SIDES" | "SAUCE" | "OTHER"; id: number; name: string; price: number; description: string; popularityScore?: number | undefined; ingredients?: unknown; isAvailable?: boolean | undefined; category?: unknown; allergies?: unknown; preparationTime?: number | undefined; spicyLevel?: "NOT_SPICY" | "MILD" | "MEDIUM" | "HOT" | "EXTRA_HOT" | undefined; calories?: number | null | undefined; isVegan?: boolean | undefined; isGlutenFree?: boolean | undefined; image?: string | null | undefined; isVegetarian?: boolean | undefined; }[]; page?: number | undefined; pageSize?: number | undefined; }>; /** * Type representing the list of food items. * * This type is inferred from the `foodItemsListSchema` using Zod. * * @type {FoodItemsListDTO} */ /** * Represents the data transfer object (DTO) for a list of food items. * * @property {typeof foodItemsListSchema} foodItemsListSchema - The schema definition for the food items list. */ export type FoodItemsListDTO = z.infer<typeof foodItemsListSchema>; /** * Schema for a list of drink items. * * This schema extends the `listPropsSchema` to include an array of drink items. * Each drink item in the array must conform to the `drinkItemSchema`. * * @constant * @type {ZodSchema} * * @example * const validData = { * items: [ * { name: "Coca Cola", volume: 330 }, * { name: "Fanta", volume: 330 } * ] * }; * * drinkItemsListSchema.parse(validData); // This will pass validation * * @see {@link listPropsSchema} for the base schema properties. * @see {@link drinkItemSchema} for the individual drink item schema. */ export declare const drinkItemsListSchema: z.ZodObject<{ page: z.ZodDefault<z.ZodNumber>; pageSize: z.ZodDefault<z.ZodNumber>; totalPages: z.ZodNumber; totalCount: z.ZodNumber; } & { items: z.ZodArray<z.ZodObject<{ id: z.ZodNumber; name: z.ZodString; price: z.ZodNumber; description: z.ZodString; ingredients: z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodString, "many">>, string[], unknown>; isAvailable: z.ZodDefault<z.ZodBoolean>; popularityScore: z.ZodDefault<z.ZodNumber>; image: z.ZodDefault<z.ZodNullable<z.ZodString>>; } & { category: z.ZodEffects<z.ZodNativeEnum<{ readonly BEER: "BEER"; readonly WINE: "WINE"; readonly SPIRITS: "SPIRITS"; readonly COFFEE: "COFFEE"; readonly TEA: "TEA"; readonly OTHER: "OTHER"; readonly SODA: "SODA"; readonly ALCOHOLIC: "ALCOHOLIC"; readonly NON_ALCOHOLIC: "NON_ALCOHOLIC"; }>, "OTHER" | "BEER" | "WINE" | "SPIRITS" | "COFFEE" | "TEA" | "SODA" | "ALCOHOLIC" | "NON_ALCOHOLIC", unknown>; volume: z.ZodNumber; alcoholPercentage: z.ZodNullable<z.ZodNumber>; isCarbonated: z.ZodEffects<z.ZodBoolean, boolean, unknown>; tempriture: z.ZodEffects<z.ZodNativeEnum<{ readonly COLD: "COLD"; readonly ROOM: "ROOM"; readonly HOT: "HOT"; }>, "HOT" | "COLD" | "ROOM", unknown>; }, "strip", z.ZodTypeAny, { id: number; name: string; price: number; popularityScore: number; ingredients: string[]; isAvailable: boolean; category: "OTHER" | "BEER" | "WINE" | "SPIRITS" | "COFFEE" | "TEA" | "SODA" | "ALCOHOLIC" | "NON_ALCOHOLIC"; volume: number; alcoholPercentage: number | null; isCarbonated: boolean; tempriture: "HOT" | "COLD" | "ROOM"; description: string; image: string | null; }, { id: number; name: string; price: number; volume: number; alcoholPercentage: number | null; description: string; popularityScore?: number | undefined; ingredients?: unknown; isAvailable?: boolean | undefined; category?: unknown; isCarbonated?: unknown; tempriture?: unknown; image?: string | null | undefined; }>, "many">; }, "strip", z.ZodTypeAny, { page: number; pageSize: number; totalPages: number; totalCount: number; items: { id: number; name: string; price: number; popularityScore: number; ingredients: string[]; isAvailable: boolean; category: "OTHER" | "BEER" | "WINE" | "SPIRITS" | "COFFEE" | "TEA" | "SODA" | "ALCOHOLIC" | "NON_ALCOHOLIC"; volume: number; alcoholPercentage: number | null; isCarbonated: boolean; tempriture: "HOT" | "COLD" | "ROOM"; description: string; image: string | null; }[]; }, { totalPages: number; totalCount: number; items: { id: number; name: string; price: number; volume: number; alcoholPercentage: number | null; description: string; popularityScore?: number | undefined; ingredients?: unknown; isAvailable?: boolean | undefined; category?: unknown; isCarbonated?: unknown; tempriture?: unknown; image?: string | null | undefined; }[]; page?: number | undefined; pageSize?: number | undefined; }>; /** * Type representing the list of drink items. * * This type is inferred from the `drinkItemsListSchema` using Zod. * * @type {DrinkItemsListDTO} */ export type DrinkItemsListDTO = z.infer<typeof drinkItemsListSchema>; //# sourceMappingURL=items.dto.d.ts.map