import type { Workspace, WorkspaceUserWorkspace, WorkspaceUser, CreateWorkspacePayload, UpdateWorkspacePayload, ListWorkspaceUsersParams, UpdateWorkspaceUserPayload, WorkspaceInvitation, CreateWorkspaceInvitationPayload, UpdateWorkspaceInvitationPayload, GenerativeAISettings, ListExportWorkspaceApplicationsResponse, ExportApplicationsJobTypeResponse, ImportResource, ImportWorkspaceApplicationsPayload, ImportApplicationsJobTypeResponse, PermissionObject } from "../types/workspace"; import type { BaserowClient } from "./baserow-client"; export declare class WorkspaceOperations { private client; constructor(client: BaserowClient); /** * Lists all the workspaces of the authorized user. * @see https://api.baserow.io/api/redoc/#tag/Workspaces/operation/list_workspaces */ list(): Promise; /** * Creates a new workspace. * @param data - The data for the new workspace. * @param options - Optional request parameters like ClientSessionId. * @see https://api.baserow.io/api/redoc/#tag/Workspaces/operation/create_workspace */ create(data: CreateWorkspacePayload, options?: { clientSessionId?: string; }): Promise; /** * Updates an existing workspace. * @param workspaceId - The ID of the workspace to update. * @param data - The data to update the workspace with. * @param options - Optional request parameters like ClientSessionId or ClientUndoRedoActionGroupId. * @see https://api.baserow.io/api/redoc/#tag/Workspaces/operation/update_workspace */ update(workspaceId: number, data: UpdateWorkspacePayload, options?: { clientSessionId?: string; clientUndoRedoActionGroupId?: string; }): Promise; /** * Deletes a workspace. * @param workspaceId - The ID of the workspace to delete. * @param options - Optional request parameters like ClientSessionId or ClientUndoRedoActionGroupId. * @see https://api.baserow.io/api/redoc/#tag/Workspaces/operation/delete_workspace */ delete(workspaceId: number, options?: { clientSessionId?: string; clientUndoRedoActionGroupId?: string; }): Promise; /** * Changes the order of workspaces for the user. * @param workspaceIds - An array of workspace IDs in the desired order. * @param options - Optional request parameters like ClientSessionId or ClientUndoRedoActionGroupId. * @see https://api.baserow.io/api/redoc/#tag/Workspaces/operation/order_workspaces */ order(workspaceIds: number[], options?: { clientSessionId?: string; clientUndoRedoActionGroupId?: string; }): Promise; /** * Leaves a workspace. * @param workspaceId - The ID of the workspace to leave. * @see https://api.baserow.io/api/redoc/#tag/Workspaces/operation/leave_workspace */ leave(workspaceId: number): Promise; /** * Lists all users within a specific workspace. Requires admin permissions. * @param workspaceId - The ID of the workspace. * @param params - Optional search and sort parameters. * @see https://api.baserow.io/api/redoc/#tag/Workspaces/operation/list_workspace_users */ listUsers(workspaceId: number, params?: ListWorkspaceUsersParams): Promise; /** * Updates a user's permissions within a workspace. Requires admin permissions. * @param workspaceUserId - The ID of the workspace-user relation (not the user ID itself). * @param payload - The permissions to update. * @see https://api.baserow.io/api/redoc/#tag/Workspaces/operation/update_workspace_user */ updateUserPermissions(workspaceUserId: number, payload: UpdateWorkspaceUserPayload): Promise; /** * Removes a user from a workspace. Requires admin permissions. * @param workspaceUserId - The ID of the workspace-user relation to delete. * @see https://api.baserow.io/api/redoc/#tag/Workspaces/operation/delete_workspace_user */ deleteUser(workspaceUserId: number): Promise; /** * Lists pending invitations for a workspace. Requires admin permissions. * @param workspaceId - The ID of the workspace. * @see https://api.baserow.io/api/redoc/#tag/Workspace-invitations/operation/list_workspace_invitations */ listInvitations(workspaceId: number): Promise; /** * Creates a new invitation for a user to join a workspace. Requires admin permissions. * @param workspaceId - The ID of the workspace to invite the user to. * @param payload - Details of the invitation (email, permissions, etc.). * @see https://api.baserow.io/api/redoc/#tag/Workspace-invitations/operation/create_workspace_invitation */ createInvitation(workspaceId: number, payload: CreateWorkspaceInvitationPayload): Promise; /** * Retrieves details of a specific workspace invitation. Requires admin permissions. * @param workspaceInvitationId - The ID of the invitation. * @see https://api.baserow.io/api/redoc/#tag/Workspace-invitations/operation/get_workspace_invitation */ getInvitation(workspaceInvitationId: number): Promise; /** * Updates an existing workspace invitation. Requires admin permissions. * @param workspaceInvitationId - The ID of the invitation to update. * @param payload - The permissions to update. * @see https://api.baserow.io/api/redoc/#tag/Workspace-invitations/operation/update_workspace_invitation */ updateInvitation(workspaceInvitationId: number, payload: UpdateWorkspaceInvitationPayload): Promise; /** * Deletes/revokes a pending workspace invitation. Requires admin permissions. * @param workspaceInvitationId - The ID of the invitation to delete. * @see https://api.baserow.io/api/redoc/#tag/Workspace-invitations/operation/delete_workspace_invitation */ deleteInvitation(workspaceInvitationId: number): Promise; /** * Accepts a workspace invitation. This is typically called by the invited user. * @param workspaceInvitationId - The ID of the invitation to accept. * @see https://api.baserow.io/api/redoc/#tag/Workspace-invitations/operation/accept_workspace_invitation */ acceptInvitation(workspaceInvitationId: number): Promise; /** * Rejects a workspace invitation. This is typically called by the invited user. * @param workspaceInvitationId - The ID of the invitation to reject. * @see https://api.baserow.io/api/redoc/#tag/Workspace-invitations/operation/reject_workspace_invitation */ rejectInvitation(workspaceInvitationId: number): Promise; /** * Gets the generative AI model settings for a workspace. Requires admin permissions. * @param workspaceId - The ID of the workspace. * @see https://api.baserow.io/api/redoc/#tag/Workspaces/operation/get_workspace_generative_ai_models_settings */ getGenerativeAiSettings(workspaceId: number): Promise; /** * Updates the generative AI model settings for a workspace. Requires admin permissions. * @param workspaceId - The ID of the workspace. * @param settings - The settings to update. * @param options - Optional request parameters like ClientSessionId. * @see https://api.baserow.io/api/redoc/#tag/Workspaces/operation/update_workspace_generative_ai_models_settings */ updateGenerativeAiSettings(workspaceId: number, settings: Partial, options?: { clientSessionId?: string; }): Promise; /** * Lists previously created exports for a workspace. * @param workspaceId - The ID of the workspace. * @param options - Optional request parameters like ClientSessionId. * @see https://api.baserow.io/api/redoc/#tag/Workspaces/operation/list_workspace_exports */ listExports(workspaceId: number, options?: { clientSessionId?: string; }): Promise; /** * Starts an asynchronous job to export applications from a workspace. * @param workspaceId - The ID of the workspace to export from. * @param payload - Optional: Specify application IDs to export, or export only structure. * @param options - Optional request parameters like ClientSessionId. * @returns The job details for the export task. * @see https://api.baserow.io/api/redoc/#tag/Workspaces/operation/export_workspace_applications_async */ exportApplications(workspaceId: number, payload?: { application_ids?: number[]; only_structure?: boolean; }, options?: { clientSessionId?: string; }): Promise; /** * Uploads a file (previously exported .zip) to be imported into a workspace. * @param workspaceId - The ID of the workspace to import into. * @param file - The File object or Blob representing the .zip file. * @param options - Optional request parameters like ClientSessionId. * @returns Information about the uploaded resource. * @see https://api.baserow.io/api/redoc/#tag/Workspaces/operation/import_resource_upload_file */ uploadImportFile(workspaceId: number, file: File | Blob, options?: { clientSessionId?: string; }): Promise; /** * Starts an asynchronous job to import applications from an uploaded resource. * @param workspaceId - The ID of the workspace to import into. * @param payload - Contains the ID of the uploaded resource. * @param options - Optional request parameters like ClientSessionId. * @returns The job details for the import task. * @see https://api.baserow.io/api/redoc/#tag/Workspaces/operation/import_workspace_applications_async */ importApplications(workspaceId: number, payload: ImportWorkspaceApplicationsPayload, options?: { clientSessionId?: string; }): Promise; /** * Deletes an uploaded import/export resource file. * @param workspaceId - The ID of the workspace the resource belongs to. * @param resourceId - The ID of the resource (obtained from upload) to delete. * @see https://api.baserow.io/api/redoc/#tag/Workspaces/operation/import_export_resource */ deleteImportResource(workspaceId: number, resourceId: number): Promise; /** * Gets the permission object for the current user within a specific workspace. * @param workspaceId - The ID of the workspace. * @see https://api.baserow.io/api/redoc/#tag/Workspaces/operation/workspace_permissions */ getPermissions(workspaceId: number): Promise; /** * Creates an initial workspace with example data. Typically used after signup if onboarding is skipped. * @see https://api.baserow.io/api/redoc/#tag/Workspaces/operation/create_initial_workspace */ createInitialWorkspace(): Promise; }