export interface Workspace { id: number; name: string; generative_ai_models_enabled: string; } export interface WorkspaceUserWorkspace extends Workspace { users: WorkspaceUser[]; order: number; permissions: string; unread_notifications_count: number; } export interface WorkspaceUser { id: number; name: string; email: string; workspace: number; permissions: string; created_on: string; user_id: number; to_be_deleted: boolean; teams?: WorkspaceUserEnterpriseTeam[]; role_uid?: string | null; highest_role_uid?: string | null; } export interface WorkspaceUserEnterpriseTeam { id: number; name: string; } export interface CreateWorkspacePayload { name: string; } export interface UpdateWorkspacePayload { name?: string; } export interface OrderWorkspacesPayload { workspaces: number[]; } export interface ListWorkspaceUsersParams { search?: string; sorts?: string; } export interface UpdateWorkspaceUserPayload { permissions?: string; } export interface WorkspaceInvitation { id: number; workspace: number; email: string; permissions: string; message: string; created_on: string; } export interface UserWorkspaceInvitation { id: number; invited_by: string; workspace: string; email: string; message: string; created_on: string; email_exists: boolean; } export interface CreateWorkspaceInvitationPayload { email: string; permissions: string; message?: string; base_url: string; } export interface UpdateWorkspaceInvitationPayload { permissions?: string; } export interface OpenAISettings { models?: string[]; api_key?: string; organization?: string; } export interface AnthropicSettings { models?: string[]; api_key?: string; } export interface MistralSettings { models?: string[]; api_key?: string; } export interface OllamaSettings { models?: string[]; host?: string; } export interface OpenRouterSettings { models?: string[]; api_key?: string; } export interface GenerativeAISettings { openai?: OpenAISettings; anthropic?: AnthropicSettings; mistral?: MistralSettings; ollama?: OllamaSettings; openrouter?: OpenRouterSettings; } export interface ListExportWorkspaceApplicationsResponse { results: ExportApplicationsJobTypeResponse[]; } export interface ExportApplicationsJobTypeResponse { id: number; type: string; progress_percentage: number; state: string; human_readable_error?: string | null; exported_file_name: string; url: string; created_on: string; workspace_id: number | null; } export interface ImportResource { id: number; name: string; size?: number; } export interface ImportWorkspaceApplicationsPayload { resource_id: number; } export interface ImportApplicationsJobTypeResponse { id: number; type: string; progress_percentage: number; state: string; human_readable_error?: string | null; installed_applications: any; workspace_id: number; resource: ImportResource; } export interface PermissionObject { name: string; permissions: any; }