/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { Event } from 'vscode'; export type RhamtLoginStatus = 'Initializing' | 'LoggingIn' | 'LoggedIn' | 'LoggedOut'; export interface RhamtAccount { readonly status: RhamtLoginStatus; readonly onStatusChanged: Event; readonly waitForLogin: () => Promise; readonly sessions: RhamtSession[]; readonly onSessionsChanged: Event; readonly subscriptions: RhamtSubscription[]; readonly onSubscriptionsChanged: Event; readonly waitForSubscriptions: () => Promise; readonly filters: RhamtResourceFilter[]; readonly onFiltersChanged: Event; readonly waitForFilters: () => Promise; } export interface RhamtSession { readonly userId: string; readonly tenantId: string; } export interface RhamtSubscription { readonly session: RhamtSession; } export type RhamtResourceFilter = RhamtSubscription;