import { Injector } from '@opensumi/di'; import { IRPCProtocol } from '@opensumi/ide-connection'; import { Disposable, ILogger, QuickPickService } from '@opensumi/ide-core-browser'; import { AuthenticationProviderSessionOptions, AuthenticationSession, AuthenticationSessionAccountInformation, AuthenticationSessionsChangeEvent, IAuthenticationProvider, IAuthenticationService } from '@opensumi/ide-core-common'; import { IDialogService, IMessageService } from '@opensumi/ide-overlay'; import { IExtHostAuthentication, IMainThreadAuthentication } from '../../../common/vscode'; import { IActivationEventService } from '../../types'; export declare class MainThreadAuthenticationProvider extends Disposable implements IAuthenticationProvider { private readonly _proxy; readonly id: string; readonly label: string; readonly supportsMultipleAccounts: boolean; protected readonly authenticationService: IAuthenticationService; protected readonly quickPickService: QuickPickService; protected readonly dialogService: IDialogService; protected readonly messageService: IMessageService; protected readonly logger: ILogger; private _accounts; private _sessions; constructor(_proxy: IExtHostAuthentication, id: string, label: string, supportsMultipleAccounts: boolean); initialize(): Promise; manageTrustedExtensions(accountName: string): Promise; signOut(accountName: string): Promise; getSessions(scopes?: string[], account?: AuthenticationSessionAccountInformation): Promise>; hasSessions(): boolean; updateSessionItems(event: AuthenticationSessionsChangeEvent): Promise; private registerCommandsAndContextMenuItems; private registerSession; login(scopes: string[], options: AuthenticationProviderSessionOptions): Promise; logout(sessionId: string): Promise; } export declare class MainThreadAuthentication extends Disposable implements IMainThreadAuthentication { private readonly _proxy; protected readonly injector: Injector; protected readonly authenticationService: IAuthenticationService; protected readonly dialogService: IDialogService; protected readonly messageService: IMessageService; protected readonly quickPickService: QuickPickService; protected readonly activationService: IActivationEventService; constructor(protocol: IRPCProtocol); $getProviderIds(): Promise; $registerAuthenticationProvider(id: string, label: string, supportsMultipleAccounts: boolean): Promise; $unregisterAuthenticationProvider(id: string): void; $ensureProvider(id: string): Promise; $sendDidChangeSessions(id: string, event: AuthenticationSessionsChangeEvent): void; $getSessions(id: string): Promise>; $login(providerId: string, scopes: string[], options: AuthenticationProviderSessionOptions): Promise; $logout(providerId: string, sessionId: string): Promise; $getAccounts(providerId: string): Promise; private doGetSession; $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: readonly 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; } //# sourceMappingURL=main.thread.authentication.d.ts.map