import { IRPCProtocol } from '@opensumi/ide-connection'; import { AuthenticationProviderInformation, AuthenticationProviderSessionOptions, AuthenticationSession, AuthenticationSessionAccountInformation, AuthenticationSessionsChangeEvent, Event } from '@opensumi/ide-core-common'; import { IExtHostAuthentication } from '../../../common/vscode'; import { IExtensionDescription } from '../../../common/vscode/extension'; import type vscode from 'vscode'; export declare function createAuthenticationApiFactory(extension: IExtensionDescription, extHostAuthentication: ExtHostAuthentication): typeof vscode.authentication; export declare class ExtHostAuthentication implements IExtHostAuthentication { protected readonly logger: import("@opensumi/ide-core-common").IDebugLog; private _proxy; private _authenticationProviders; private _providers; private _onDidChangeAuthenticationProviders; readonly onDidChangeAuthenticationProviders: Event; private _onDidChangeSessions; readonly onDidChangeSessions: Event; private _inFlightRequests; constructor(mainContext: IRPCProtocol); $setProviders(providers: vscode.AuthenticationProviderInformation[]): Promise; getProviderIds(): Promise>; get providers(): ReadonlyArray; getSession(requestingExtension: IExtensionDescription, providerId: string, scopes: string[], options?: vscode.AuthenticationGetSessionOptions): Promise; private _getSession; logout(providerId: string, sessionId: string): Promise; getAccounts(providerId: string): Promise; registerAuthenticationProvider(id: string, label: string, provider: vscode.AuthenticationProvider, options?: vscode.AuthenticationProviderOptions): vscode.Disposable; $login(providerId: string, scopes: string[], options: AuthenticationProviderSessionOptions): Promise; $logout(providerId: string, sessionId: string): Promise; $getSessions(providerId: string, scopes: string[], options: AuthenticationProviderSessionOptions): Promise>; $getSessionAccessToken(providerId: string, sessionId: string): Promise; $onDidChangeAuthenticationSessions(id: string, label: string, event: AuthenticationSessionsChangeEvent): Promise; $onDidChangeAuthenticationProviders(added: AuthenticationProviderInformation[], removed: AuthenticationProviderInformation[]): Promise; } //# sourceMappingURL=ext.host.authentication.d.ts.map