@neurosity/sdk
Version:
Neurosity SDK
60 lines (59 loc) • 2.21 kB
TypeScript
import { Observable } from "rxjs";
import firebase from "firebase/app";
import { User } from "@firebase/auth-types";
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";
/**
* @hidden
*/
export declare type UserWithMetadata = User & {
selectedDevice: DeviceInfo | null;
};
/**
* @hidden
*/
export declare const credentialWithLink: Function;
/**
* @hidden
*/
export declare function createUser(...args: any[]): any;
/**
* @hidden
*/
export declare class FirebaseUser {
app: firebase.app.App;
user: User | null;
constructor(firebaseApp: FirebaseApp);
auth(): firebase.auth.Auth;
createAccount(credentials: EmailAndPassword): Promise<any>;
deleteAccount(): Promise<void>;
onAuthStateChanged(): Observable<User | null>;
onLogin(): Observable<User>;
login(credentials: Credentials): Promise<firebase.auth.UserCredential>;
logout(): Promise<void>;
createCustomToken(): Promise<CustomToken>;
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>;
}