UNPKG

@neurosity/sdk

Version:
75 lines (74 loc) 3.31 kB
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 {};