@iotize/ionic
Version:
Iotize specific building blocks on top of @ionic/angular.
50 lines (49 loc) • 1.4 kB
TypeScript
import { IonicDataLogger } from '../extensions/datalogger/data-logger';
import { Observable } from 'rxjs';
export interface RemoteConfig {
brokerUrl: any;
serialNumber: any;
password: any;
period: any;
}
export declare enum ConnectionState {
CONNECTED = "CONNECTED",
DISCONNECTED = "DISCONNECTED",
CONNECTING = "CONNECTING",
DISCONNECTING = "DISCONNECTING"
}
export interface RemoteStateEvent {
isDisconnectable?: boolean;
isConnectable?: boolean;
state?: ConnectionState;
isLoading?: boolean;
}
export declare enum RunnableState {
RUNNING = "RUNNING",
STOPED = "STOPED"
}
export interface RunnableStateEvent {
newState: RunnableState;
oldState?: RunnableState;
}
export interface SyncableDatalogPacket extends IonicDataLogger.PacketInfo {
syncInfo?: SyncMeta;
rawSinglePacket?: Uint8Array;
}
export interface SyncMeta {
error?: Error;
isSync: boolean;
lastSync?: Date;
}
export interface SyncStats {
remainingCount?: number;
synchronizedCount?: number;
}
export interface SyncEngine {
config: Observable<RemoteConfig>;
state: Observable<RemoteStateEvent>;
disconnect(): Promise<void>;
connect(): Promise<void>;
syncEntry(syncInfo: SyncableDatalogPacket): Promise<SyncableDatalogPacket>;
configure(data: RemoteConfig): Promise<any>;
}