@neurosity/sdk
Version:
Neurosity SDK
75 lines (74 loc) • 3.31 kB
TypeScript
import { Observable } from "rxjs";
import { ReplaySubject } from "rxjs";
import { WebBluetoothTransport } from "./web/WebBluetoothTransport";
import { ReactNativeTransport } from "./react-native/ReactNativeTransport";
import { DeviceInfo } from "../../types/deviceInfo";
import { Action } from "../../types/actions";
import { Epoch } from "../../types/epoch";
import { BLUETOOTH_CONNECTION } from "./types";
import { DeviceNicknameOrPeripheral } from "./BluetoothTransport";
import { Peripheral } from "./react-native/types/BleManagerTypes";
export declare type BluetoothTransport = WebBluetoothTransport | ReactNativeTransport;
declare type IsAuthenticated = boolean;
declare type ExpiresIn = number;
declare type IsAuthenticatedResponse = [IsAuthenticated, ExpiresIn];
declare type CreateBluetoothToken = () => Promise<string>;
declare type Options = {
transport: BluetoothTransport;
selectedDevice$: Observable<DeviceInfo>;
osHasBluetoothSupport$: Observable<boolean>;
createBluetoothToken: CreateBluetoothToken;
};
export declare class BluetoothClient {
transport: BluetoothTransport;
deviceInfo: DeviceInfo;
selectedDevice$: ReplaySubject<DeviceInfo>;
osHasBluetoothSupport$: ReplaySubject<boolean>;
isAuthenticated$: ReplaySubject<boolean>;
_focus$: Observable<any>;
_calm$: Observable<any>;
_accelerometer$: Observable<any>;
_brainwavesRaw$: Observable<any>;
_brainwavesRawUnfiltered$: Observable<any>;
_brainwavesPSD$: Observable<any>;
_brainwavesPowerByBand$: Observable<any>;
_signalQuality$: Observable<any>;
_status$: Observable<any>;
_settings$: Observable<any>;
_wifiNearbyNetworks$: Observable<any>;
_wifiConnections$: Observable<any>;
constructor(options: Options);
_autoAuthenticate(createBluetoothToken: CreateBluetoothToken): Observable<IsAuthenticatedResponse>;
enableAutoConnect(autoConnect: boolean): void;
_hasBluetoothSupport(): Promise<boolean>;
authenticate(token: string): Promise<IsAuthenticatedResponse>;
isAuthenticated(): Promise<IsAuthenticatedResponse>;
scan(options?: any): Observable<Peripheral[]>;
connect(deviceNicknameORPeripheral?: DeviceNicknameOrPeripheral): Promise<void>;
disconnect(): Promise<void>;
connection(): Observable<BLUETOOTH_CONNECTION>;
logs(): Observable<string>;
getDeviceId(): Promise<string>;
_withAuthentication<T>(getter: () => Promise<T>): Promise<T>;
_subscribeWhileAuthenticated(characteristicName: string, skipJSONDecoding?: boolean): Observable<any>;
focus(): Observable<any>;
calm(): Observable<any>;
accelerometer(): Observable<any>;
brainwaves(label: string): Observable<Epoch | any>;
signalQuality(): Observable<any>;
addMarker(label: string): Promise<void>;
getInfo(): Promise<DeviceInfo>;
status(): Observable<any>;
dispatchAction(action: Action): Promise<any>;
settings(): Observable<any>;
haptics(effects: any): Promise<any>;
get wifi(): {
nearbyNetworks: () => Observable<any>;
connections: () => Observable<any>;
connect: (ssid: string, password?: string) => Promise<any>;
forgetConnection: (ssid: string) => Promise<any>;
reset: () => Promise<any>;
speedTest: () => Promise<any>;
};
}
export {};