// 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_model: 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 | ''; notes: string | ''; address: string | ''; zip_code: string | ''; city: string | ''; status: number | -1; id: number | -1; role_id: number | -1; dateofbirth: string | ''; company: string | ''; profile_picture: string | ''; payment_status: number | -1; membership: Membership; bank_account: BankAccount; licence: Licence; notes: string | ''; } declare global { namespace App { // interface Error {} interface Locals { user: User; users: User[]; subscriptions: Subscription[]; licence_categories: LicenceCategory[]; } interface Types { licenceCategory: LicenceCategory; subscription: Subscription; membership: Membership; licence: Licence; licenceCategory: LicenceCategory; bankAccount: BankAccount; } // interface PageData {} // interface Platform {} } } export {};