import { User } from "../leapp-team-core/user/user"; import { PriceDto } from "../leapp-team-core/payment/dto/price-dto"; import { BehaviorSubject } from "rxjs"; import { SessionFactory } from "@noovolari/leapp-core/services/session-factory"; import { NamedProfilesService } from "@noovolari/leapp-core/services/named-profiles-service"; import { SessionManagementService } from "@noovolari/leapp-core/services/session-management-service"; import { AzureIntegrationService } from "@noovolari/leapp-core/services/integration/azure-integration-service"; import { AwsSsoIntegrationService } from "@noovolari/leapp-core/services/integration/aws-sso-integration-service"; import { IdpUrlsService } from "@noovolari/leapp-core/services/idp-urls-service"; import { IKeychainService } from "@noovolari/leapp-core/interfaces/i-keychain-service"; import { INativeService } from "@noovolari/leapp-core/interfaces/i-native-service"; import { FileService } from "@noovolari/leapp-core/services/file-service"; import { IntegrationFactory } from "@noovolari/leapp-core/services/integration-factory"; import { WorkspaceService } from "@noovolari/leapp-core/services/workspace-service"; import { BehaviouralSubjectService } from "@noovolari/leapp-core/services/behavioural-subject-service"; import { LogService } from "@noovolari/leapp-core/services/log-service"; export { User } from "../leapp-team-core/user/user"; export { Role } from "../leapp-team-core/user/role"; export { ApiErrorCodes } from "../leapp-team-core/errors/api-error-codes"; export { FormErrorCodes } from "../leapp-team-core/errors/form-error-codes"; export interface WorkspaceState { name: string; description: string; type: "local" | "team" | "pro"; syncState: "disabled" | "enabled" | "in-progress" | "failed"; selected: boolean; locked: boolean; id: string; } export declare class TeamService { private readonly sessionFactory; private readonly namedProfilesService; private readonly sessionManagementService; private readonly awsSsoIntegrationService; private readonly azureIntegrationService; private readonly idpUrlService; private readonly keyChainService; private readonly nativeService; private readonly fileService; readonly crypto: Crypto; private readonly workspaceService; private readonly integrationFactory; private readonly logService; private readonly behaviouralSubjectService?; private readonly _signedInUserState$; private readonly _workspacesState$; private readonly _syncingWorkspaceState$; private readonly teamSignedInUserKeychainKey; private readonly encryptionProvider; private readonly vaultProvider; private readonly userProvider; private readonly httpClient; private readonly paymentProvider; private currentSynchronization?; private queuedSynchronization?; constructor(sessionFactory: SessionFactory, namedProfilesService: NamedProfilesService, sessionManagementService: SessionManagementService, awsSsoIntegrationService: AwsSsoIntegrationService, azureIntegrationService: AzureIntegrationService, idpUrlService: IdpUrlsService, keyChainService: IKeychainService, nativeService: INativeService, fileService: FileService, crypto: Crypto, workspaceService: WorkspaceService, integrationFactory: IntegrationFactory, logService: LogService, behaviouralSubjectService?: BehaviouralSubjectService); get isLeappTeamStubbed(): boolean; get signedInUserState(): BehaviorSubject; get workspacesState(): BehaviorSubject; get syncingWorkspaceState(): BehaviorSubject; getTeamStatus(): Promise; exportProWorkspace(): Promise; setCurrentWorkspace(reloadOnly?: boolean): Promise; signIn(email: string, password: string): Promise; signOut(lock?: boolean): Promise; writeTouchIdCredentials(password: string, passwordDurationInDays: number): Promise; deleteTeamWorkspace(): Promise; switchToLocalWorkspace(): Promise; refreshWorkspaceState(callback?: () => Promise): Promise; createCheckoutSession(email: string, price: PriceDto, fiscalCode?: string): Promise; getPrices(): Promise; /*** LOCAL TO CLOUD SYNC METHODS ***/ setSyncState(state: "disabled" | "enabled" | "in-progress" | "failed"): void; pushToRemote(): Promise; /*** CLOUD TO LOCAL SYNC METHODS ***/ pullFromRemote(reloadOnly?: boolean): Promise; removeSessionsAndIntegrationsFromCurrentWorkspace(): Promise; getKeychainCurrentWorkspace(): Promise; setKeychainCurrentWorkspace(workspaceName: string): Promise; private syncIntegrationSecret; private syncSessionsSecret; private isOrphanedChainedSession; private getAssumerSessionId; private setupAwsSession; /***********************************/ private loadAndDecryptWorkspace; private setSignedInUser; private setLocalWorkspace; private deleteCurrentWorkspace; private getRSAKeys; private deleteRSABinFile; private isJwtTokenExpired; private getTeamLockFileName; }