@neurosity/sdk
Version:
Neurosity SDK
50 lines • 2.37 kB
TypeScript
import { Observable } from "rxjs";
import { FirebaseApp as FirebaseAppType } from "firebase/app";
import { User } from "firebase/auth";
import { FirebaseApp } from "./FirebaseApp";
import { Credentials, EmailAndPassword, CustomToken } from "../../types/credentials";
import { UserClaims } from "../../types/user";
import { DeviceInfo } from "../../types/deviceInfo";
import { OAuthRemoveResponse } from "../../types/oauth";
import { Experiment } from "../../types/experiment";
import { TransferDeviceOptions } from "../../utils/transferDevice";
import { ApiKeyRecord, CreateApiKeyRequest, RemoveApiKeyResponse } from "../../types/apiKey";
export type UserWithMetadata = User & {
selectedDevice: DeviceInfo | null;
};
export declare class FirebaseUser {
app: FirebaseAppType;
user: User | null;
constructor(firebaseApp: FirebaseApp);
auth(): import("@firebase/auth").Auth;
createAccount(credentials: EmailAndPassword): Promise<any>;
deleteAccount(): Promise<void>;
onAuthStateChanged(): Observable<User | null>;
onLogin(): Observable<User>;
login(credentials: Credentials): Promise<import("@firebase/auth").UserCredential>;
logout(): Promise<void>;
createCustomToken(): Promise<CustomToken>;
createApiKey(data: CreateApiKeyRequest): Promise<ApiKeyRecord>;
removeApiKey(apiKeyId: string): Promise<RemoveApiKeyResponse>;
private _createCustomTokenForApiKey;
removeOAuthAccess(): Promise<OAuthRemoveResponse>;
getDevices(): Promise<DeviceInfo[]>;
addDevice(deviceId: string): Promise<void>;
removeDevice(deviceId: string): Promise<void>;
transferDevice(options: TransferDeviceOptions): Promise<void>;
isDeviceIdValid(deviceId: string): Promise<boolean>;
onUserDevicesChange(): Observable<DeviceInfo[]>;
onUserClaimsChange(): Observable<UserClaims>;
getIdToken(forceRefresh?: boolean): Promise<void>;
getClaims(): Promise<UserClaims>;
private userDevicesToDeviceInfoList;
hasDevicePermission(deviceId: string): Promise<boolean>;
private getDeviceClaimedByPath;
private getUserClaimedDevicePath;
private getUserDevicesPath;
private getUserClaimsUpdatedOnPath;
private getDeviceInfoPath;
onUserExperiments(): Observable<Experiment[]>;
deleteUserExperiment(experimentId: string): Promise<void>;
}
//# sourceMappingURL=FirebaseUser.d.ts.map