// See https://kit.svelte.dev/docs/types#app interface Subscription { id: number | -1; name: string | ''; details: string | ''; conditions: string | ''; monthly_fee: number | 0; hourly_rate: number | 0; included_hours_per_year: number | 0; included_hours_per_month: number | 0; } interface Membership { id: number | -1; status: number | -1; start_date: string | ''; end_date: string | ''; parent_member_id: number | -1; subscription: Subscription; } interface BankAccount { id: number | -1; mandate_date_signed: string | ''; bank: string | ''; account_holder_name: string | ''; iban: string | ''; bic: string | ''; mandate_reference: string | ''; } interface Licence { id: number | -1; status: number | -1; number: string | ''; issued_date: string | ''; expiration_date: string | ''; country: string | ''; categories: LicenceCategory[]; } interface LicenceCategory { id: number | -1; category: string | ''; } interface User { email: string | ''; first_name: string | ''; last_name: string | ''; password: string | ''; phone: string | ''; address: string | ''; zip_code: string | ''; city: string | ''; status: number | -1; id: number | -1; role_id: number | -1; dateofbirth: string | ''; company: string | ''; membership: Membership | null; bank_account: BankAccount | null; licence: Licence | null; notes: string | ''; } interface Car { id: number | -1; name: string | ''; status: number | 0; brand: string | ''; model: string | ''; price: number | 0; rate: number | 0; start_date: string | ''; end_date: string | ''; color: string | ''; licence_plate: string | ''; location: Location | null; damages: Damage[] | null; insurances: Insurance[] | null; notes: string | ''; } interface Location { latitude: number | 0; longitude: number | 0; } interface Damage { id: number | -1; name: string | ''; opponent: User | null; driver_id: number | -1; insurance: Insurance | null; date: string | ''; notes: string | ''; } interface Insurance { id: number | -1; company: string | ''; reference: string | ''; start_date: string | ''; end_date: string | ''; notes: string | ''; } declare global { namespace App { // interface Error {} interface Locals { user: User; users: User[]; cars: Cars[]; subscriptions: Subscription[]; licence_categories: LicenceCategory[]; } interface Types { licenceCategory: LicenceCategory; subscription: Subscription; membership: Membership; licence: Licence; licenceCategory: LicenceCategory; bankAccount: BankAccount; car: Car; insurance: Insurance; location: Location; damage: Damage; } // interface PageData {} // interface Platform {} } } export {};