export interface Project { id: number; name: string; owner: number; home: string; summary: string; } export interface Navigation { title: string; path: string; type: string; order: number children?: Navigation[]; } export interface File { id: number; project: number; path: string; title: string; type: 'Markdown' | 'Canvas' | 'File' | 'Folder'; content: string; owner: number; } export interface Comment { file: number; user_id: number; sequence: number; position: number; length: number; content: string; } export interface User { id: number; username: string; } export interface ProjectSearch extends Project { pages: number; username: string; } export interface FileSearch extends File { comments: number; username: string; } export interface CommentSearch extends Comment { username: string; } export interface UserSearch extends User { } export interface Search { projects: ProjectSearch[]; files: FileSearch[]; users: UserSearch[]; }