@sussudio/platform
Version:
Internal APIs for VS Code's service injection the base services.
35 lines (33 loc) • 1.8 kB
text/typescript
/*---------------------------------------------------------------------------------------------
* 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 '@sussudio/base/common/event.mjs';
import { Disposable } from '@sussudio/base/common/lifecycle.mjs';
import { IUserDataSyncLogService, IUserDataSyncStoreService } from './userDataSync.mjs';
export interface IUserDataSyncAccount {
readonly authenticationProviderId: string;
readonly token: string;
}
export declare const IUserDataSyncAccountService: import('../../instantiation/common/instantiation.mjs').ServiceIdentifier<IUserDataSyncAccountService>;
export interface IUserDataSyncAccountService {
readonly _serviceBrand: undefined;
readonly onTokenFailed: Event<boolean>;
readonly account: IUserDataSyncAccount | undefined;
readonly onDidChangeAccount: Event<IUserDataSyncAccount | undefined>;
updateAccount(account: IUserDataSyncAccount | undefined): Promise<void>;
}
export declare class UserDataSyncAccountService extends Disposable implements IUserDataSyncAccountService {
private readonly userDataSyncStoreService;
private readonly logService;
_serviceBrand: any;
private _account;
get account(): IUserDataSyncAccount | undefined;
private _onDidChangeAccount;
readonly onDidChangeAccount: Event<IUserDataSyncAccount | undefined>;
private _onTokenFailed;
readonly onTokenFailed: Event<boolean>;
private wasTokenFailed;
constructor(userDataSyncStoreService: IUserDataSyncStoreService, logService: IUserDataSyncLogService);
updateAccount(account: IUserDataSyncAccount | undefined): Promise<void>;
}