declare namespace FG { interface Session { expires: Date; token: string; lifetime: number; browser: string; platform: string; userid: string; } interface User { userid: string; display_name: string; firstname: string; lastname: string; mail: string; birthday?: Date; roles: Array; permissions?: string[]; avatar_url?: string; } type Permission = string; interface Role { id: number; name: string; permissions: Array; } interface Transaction { id: number; time: Date; amount: number; reversal_id: number; sender_id?: number; receiver_id?: number; author_id?: number; original_id?: number; } interface Drink { id: number; article_id?: string; package_size?: number; name: string; volume?: number; cost_price_pro_volume?: number; cost_price_package_netto?: number; tags: Array; type: DrinkType; volumes: DrinkPriceVolume[]; } interface DrinkIngredient { id: number; volume: number; drink_ingredient?: Drink; } interface DrinkPrice { id: number; price: number; public: boolean; description?: string; } interface DrinkMinPrice { percentage: number; //price: ComputedRef; price: number; } interface DrinkPriceVolume { id: number; volume: number; //computed_volume: ComputedRef; min_prices: DrinkMinPrice[]; prices: Array; ingredients: Array; } interface DrinkType { id: number; name: string; } interface ExtraIngredient { id: number; name: string; price: number; } interface Ingredient { id: number; drink_ingredient: DrinkIngredient | null; extra_ingredient: ExtraIngredient | null; } interface Tag { id: number; name: string; } interface Event { id: number; start: Date; end: Date; description?: string; type: EventType; jobs: Array; } interface EventType { id: number; name: string; } interface Job { id: number; start: Date; end?: Date; comment: string; type: JobType; services: Array; required_services: number; } interface JobType { id: number; name: string; } interface Service { userid: string; value: number; } }