| export interface Document { | |
| id: string; | |
| title: string; | |
| content: string; | |
| version: number; | |
| lastSaved: string; | |
| isSynced: boolean; | |
| history?: { | |
| id: string; | |
| timestamp: string; | |
| content: string; | |
| version: number; | |
| label?: string; | |
| }[]; | |
| } | |
| export interface ChatMessage { | |
| id: string; | |
| sender: "user" | "assistant"; | |
| text: string; | |
| timestamp: string; | |
| } | |
| export type UserTier = "free" | "pro" | "enterprise"; | |
| export interface AuthUser { | |
| email: string | null; | |
| displayName: string | null; | |
| isLoggedIn: boolean; | |
| isGuest?: boolean; | |
| tier: UserTier; | |
| privateKeySeed: string; | |
| hasPasskey?: boolean; | |
| oauthProvider?: string | null; | |
| } | |
| export interface SyncLog { | |
| id: string; | |
| text: string; | |
| timestamp: string; | |
| type: "success" | "info" | "sync" | "error"; | |
| } | |
| export interface TeamMember { | |
| id: string; | |
| name: string; | |
| role: string; | |
| status: "active" | "offline"; | |
| permission: "edit" | "view"; | |
| } | |