/// /// import { EdgeImpulseApi } from '../sdk/studio/api'; import * as models from '../sdk/studio/sdk/model/models'; export interface RunnerConfig { projectId: number | undefined; blockId: number | undefined; storageIndex: number | undefined; storagePath: string; storageMaxSizeMb: number | undefined; deploymentVersion: number | undefined; monitorSummaryIntervalMs: number | undefined; impulseIdsForProjectId: { [k: string]: { impulseId: number; }; } | undefined; modelVariantsForProjectId: { [k: string]: { variant: models.KerasModelVariantEnum; }; } | undefined; } export interface SerialConfig { host: string; jwtToken: string; uploaderProjectId: number | undefined; lastVersionCheck: number; apiKey: string | undefined; dataForwarderDevices: { [deviceId: string]: { apiKey: string; hmacKey: string; projectId: number; samplingFreq: number; sensors: string[]; }; }; daemonDevices: { [deviceId: string]: { projectId: number; }; }; linuxProjectId: number | undefined; camera: string | undefined; audio: string | undefined; runner: RunnerConfig; apiKeysForProject: { [projectId: string]: string; } | undefined; } export interface EdgeImpulseEndpoints { internal: { ws: string; api: string; apiWs: string; ingestion: string; }; device: { ws: string; api: string; ingestion: string; }; } export interface EdgeImpulseConfig { api: EdgeImpulseApi; endpoints: EdgeImpulseEndpoints; setDeviceUpload: boolean; host: string; } export declare class Config { /** * Whether a file exists (Node.js API cannot be converted using promisify) * @param path */ static exists(path: string): Promise; /** * Unlinks a file, but does not throw if unlinking fails. */ static safeUnlinkFile(path: string): Promise; /** * Atomic write (first write to temp file, then rename) */ static writeFileAtomic(path: string, content: string | Buffer): Promise; private _filename; private _api; private _endpoints; private _configured; constructor(); /** * Clean the configuration */ clean(): Promise; removeProjectReferences(): Promise; getUploaderProjectId(): Promise; setUploaderProjectId(projectId: number): Promise; getLinuxProjectId(): Promise; setLinuxProjectId(projectId: number): Promise; getApiKeyForProject(projectId: number): Promise; setApiKeyForProject(projectId: number, apiKey: string): Promise; getLastVersionCheck(): Promise; setLastVersionCheck(): Promise; /** * Verify that a user has configured the host and was logged in */ verifyLogin(devMode: boolean, apiKey?: string, verifyType?: 'org' | 'project'): Promise; getDataForwarderDevice(deviceId: string): Promise<{ apiKey: string; hmacKey: string; projectId: number; samplingFreq: number; sensors: string[]; }>; storeDataForwarderDevice(deviceId: string, data: { apiKey: string; hmacKey: string; projectId: number; samplingFreq: number; sensors: string[]; }): Promise; deleteDataForwarderDevice(deviceId: string): Promise; getDaemonDevice(deviceId: string): Promise<{ projectId: number; }>; storeDaemonDevice(deviceId: string, data: { projectId: number; }): Promise; deleteDaemonDevice(deviceId: string): Promise; getCamera(): Promise; storeCamera(camera: string): Promise; getAudio(): Promise; storeAudio(audio: string): Promise; getRunner(): Promise; storeStoragePath(path: string): Promise; getStoragePath(): Promise; getStorageIndex(): Promise; storeStorageIndex(index: number): Promise; getStorageMaxSizeMb(): Promise; setStorageMaxSizeMb(maxSizeMb: number): Promise; storeProjectId(projectId: number): Promise; storeBlockId(blockId: number): Promise; setRunnerImpulseIdForProjectId(projectId: number, impulseId: number): Promise; getRunnerImpulseIdForProjectId(projectId: number): Promise; setRunnerModelVariantForProjectId(projectId: number, variant: models.KerasModelVariantEnum): Promise; getRunnerModelVariantForProjectId(projectId: number): Promise; getDeploymentVersion(): Promise; setDeploymentVersion(deploymentVersion: number): Promise; getStudioUrl(whitelabelId: number | null): Promise; getDefaultModelsPath(): string; getDefaultStoragePath(): string; private getDefaultRunnerPath; private load; /** * This'll throw when access failed * @param config * @param verifyType */ private verifyAccess; private getJWTToken; private store; getMonitorSummaryIntervalMs(): Promise; setMonitorSummaryIntervalMs(ms: number): Promise; }