export interface JWTPayload { userId: string; email: string; workspaceId?: string; } export interface AuthContext { userId: string; email: string; workspaceId?: string | null; sessionId?: string; } export interface UserWorkspace { workspaceId: string; role: 'owner' | 'admin' | 'editor' | 'viewer'; } export interface SearchOptions { query: string; workspaceId?: string; projectId?: string; limit?: number; offset?: number; } export interface SearchResult { fileId: string; title: string; path: string; content: string; projectId: string; projectName: string; workspaceId: string; workspaceName: string; matchScore: number; updatedAt: Date; } export interface FileWithMetadata { id: string; title: string; path: string; content: string; currentVersion: number; status: string; projectId: string; projectName: string; workspaceId: string; workspaceName: string; createdAt: Date; updatedAt: Date; createdBy: { id: string; name: string; email: string; }; updatedBy: { id: string; name: string; email: string; }; } export interface FileListItem { id: string; title: string; path: string; currentVersion: number; status: string; projectId: string; projectName: string; updatedAt: Date; preview: string; } export interface FileVersion { versionNumber: number; changeSummary: string | null; createdAt: Date; createdBy: { id: string; name: string; email: string; }; contentPreview: string; } export interface WorkspaceWithRole { id: string; name: string; slug: string; role: 'owner' | 'admin' | 'editor' | 'viewer'; projects?: ProjectInfo[]; } export interface ProjectInfo { id: string; name: string; slug: string; description: string | null; fileCount: number; } export interface ProjectStructure { project: { id: string; name: string; slug: string; description: string | null; workspaceId: string; workspaceName: string; }; structure: { rootFiles: Array<{ id: string; title: string; path: string; }>; folders: Array<{ id: string; name: string; path: string; files: Array<{ id: string; title: string; path: string; }>; }>; }; stats: { totalFiles: number; totalFolders: number; }; } //# sourceMappingURL=types.d.ts.map