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?: list; 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?: string; receiver_id?: string; author_id?: string; original_id?: number; } 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; } }