import { QelosSDKOptions } from './types'; import BaseSDK from './base-sdk'; export interface IWorkspaceMember { user: string; roles: string[]; created?: string | Date; } export interface IInvite { _id?: string; name?: string; email: string; phone?: string; roles?: string[]; created?: string | Date; } export interface IWorkspace { name: string; logo?: string; isPrivilegedUser?: boolean; members?: IWorkspaceMember[]; invites?: IInvite[]; labels: string[]; [key: string]: any; } export default class QlWorkspaces extends BaseSDK { private relativePath; constructor(options: QelosSDKOptions); getWorkspace(workspaceId: string): Promise; getMembers(workspaceId: string): Promise; getList(): Promise; remove(workspaceId: string): Promise; update(workspaceId: string, changes: Partial): Promise; create(workspace: Partial & { name: string; }): Promise; activate(workspaceId: string): Promise; inviteUser(workspaceId: string, email: string, roles?: string[]): Promise; removeMember(workspaceId: string, userId: string): Promise<{ message: string; removedMemberId?: string; userId?: string; }>; updateMemberRoles(workspaceId: string, userId: string, roles: string[]): Promise<{ message: string; updatedMember?: IWorkspaceMember; workspaceId?: string; }>; listInvites(workspaceId: string): Promise; revokeInvite(workspaceId: string, inviteId: string): Promise; }