import { AuthenticationProviderInformation, AuthenticationProviderSessionOptions, AuthenticationSession, AuthenticationSessionAccountInformation, AuthenticationSessionsChangeEvent } from '@opensumi/ide-core-common'; export interface IMainThreadAuthentication { $registerAuthenticationProvider(id: string, label: string, supportsMultipleAccounts: boolean): void; $unregisterAuthenticationProvider(id: string): void; $ensureProvider(id: string): Promise; $getProviderIds(): Promise; $sendDidChangeSessions(providerId: string, event: AuthenticationSessionsChangeEvent): void; $getSession(providerId: string, scopes: string[], extensionId: string, extensionName: string, options: { createIfNone?: boolean; clearSessionPreference?: boolean; }): Promise; selectSession(providerId: string, providerName: string, extensionId: string, extensionName: string, potentialSessions: AuthenticationSession[], scopes: string[], options: AuthenticationProviderSessionOptions, clearSessionPreference: boolean): Promise; $getSessionsPrompt(providerId: string, accountName: string, providerName: string, extensionId: string, extensionName: string): Promise; loginPrompt(providerName: string, extensionName: string, recreatingSession: boolean, detail?: string): Promise; $setTrustedExtensionAndAccountPreference(providerId: string, accountName: string, extensionId: string, extensionName: string, sessionId: string): Promise; $getSessions(providerId: string): Promise>; $login(providerId: string, scopes: string[], options: AuthenticationProviderSessionOptions): Promise; $logout(providerId: string, sessionId: string): Promise; $getAccounts(providerId: string): Promise; } export interface IExtHostAuthentication { $getSessions(id: string, scopes?: string[], options?: AuthenticationProviderSessionOptions): Promise>; $getSessionAccessToken(id: string, sessionId: string): Promise; $login(id: string, scopes: string[], options: AuthenticationProviderSessionOptions): Promise; $logout(id: string, sessionId: string): Promise; $onDidChangeAuthenticationSessions(id: string, label: string, event: AuthenticationSessionsChangeEvent): Promise; $onDidChangeAuthenticationProviders(added: AuthenticationProviderInformation[], removed: AuthenticationProviderInformation[]): Promise; $setProviders(providers: AuthenticationProviderInformation[]): Promise; } //# sourceMappingURL=authentication.d.ts.map