import * as vscode from 'vscode'; export declare enum InputType { binary_hsd = "binary_hsd", image = "image", csv_cartesiam = "csv_cartesiam", csv_unico = "csv_unico", csv_sensortile = "csv_sensortile" } export declare enum ModelType { classifier = "classifier", anomaly_detector = "anomaly_detector", predictor = "predictor" } export declare enum OutputType { openmv_stm32_bin = "openmv_stm32_bin", mlc = "mlc", full_stm32_bin = "stm32_bin", partial_stm32_bin = "partial_stm32_bin", openmv_stm32_upython = "openmv_stm32_upython", cartesiam = "cartesiam", octonion = "octonion", stred_bin = "stred_bin", mp1_greengrass_lambda = "mp1_greengrass_lambda", mp1_azure_iot_edge = "mp1_azure_iot_edge", mp1_azure_iot_coral_tpu = "mp1_azure_iot_coral_tpu", full_spc5_bin = "full_spc5_bin", partial_spc5_bin = "partial_spc5_bin" } export declare enum Stage { input = "input", model = "model", output = "output" } export declare enum TrainingType { offline = "offline", online = "online" } export declare enum ModelStage { definition = "definition", input = "log_collection", modeling = "modeling", deployed = "deployed", validation = "validation" } export declare class Tool { readonly name: string; readonly version: string; readonly parameters: any; constructor(name: string, version: string, parameters: any); static deserialize(tool: any): Tool; } export declare class Test { readonly uuid: string; readonly name: string; readonly best: boolean; readonly modelFile: string | null; readonly reports: Array; readonly outputs: Array; constructor(uuid: string, name: string, best: boolean, modelFile: string | null, reports: Array, outputs: Array); static deserialize(test: any, best: boolean): Test; } export declare class Experiment { readonly uuid: string; readonly name: string; readonly description: string; readonly modelDevFile: string; readonly tests: Array; constructor(uuid: string, name: string, description: string, modelDevFile: string, tests: Array); static deserialize(experiment: any, tests: Array): Experiment; } export declare class Log { readonly uuid: string; readonly name: string; readonly time: string; constructor(uuid: string, name: string, time: string); static deserialize(log: any): Log; } export declare class Input { readonly uuid: string; readonly type: InputType; readonly augmentation: Array; readonly tools: Array; readonly logs: Array; constructor(uuid: string, type: InputType, augmentation: Array, tools: Array, logs: Array); static deserialize(input: any): Input; } export declare class Output { readonly uuid: string; readonly type: OutputType; readonly tools: Array; constructor(uuid: string, type: OutputType, tools: Array); static deserialize(output: any): Output; } export declare class Model { readonly uuid: string; readonly name: string; readonly stage: ModelStage; readonly type: ModelType; readonly metadata: any; readonly input: Input; readonly output: Output; readonly experiments: Array; constructor(uuid: string, name: string, stage: ModelStage, type: ModelType, metadata: any, input: Input, output: Output, experiments: Array); static deserialize(model: any, input: Input, output: Output, experiments: Array): Model; } export declare class Project { readonly rawProject: any; readonly uuid: string; readonly name: string; readonly description: string; readonly version: string; readonly models: Array; readonly uri: vscode.Uri; constructor(rawProject: any, uuid: string, name: string, description: string, version: string, models: Array, uri: vscode.Uri); static deserialize(p: any, uri: vscode.Uri): Project; serialize(): any; } /** * @abstract @class IProjectManager * * @description Project manager exposes methods to handle an Edge.AI project data model * * @param onDidChangeProject Event fired when concrete project change * @param rawProject Raw project data model * @param project Deserialized project data model * @param uri URI identifying the current project */ export declare abstract class IProjectManager { backendBaseUrl: vscode.Uri; uri: vscode.Uri; abstract connect(uri: any): any; abstract load(): any; abstract newProject(projectId: string | undefined, name: string, description: string, owner: string, version: string): any; abstract addModel(modelId: string, inputId: string, outputId: string, name: string, stage: ModelStage, inputType: InputType, modelType: ModelType, outputType: OutputType, trainingType: TrainingType, modelMetadata: any, inputTools: Tool[], outputTools: Tool[]): any; abstract updateModel(modelId: string, description: string | undefined, stage: ModelStage | undefined, classes: string[] | undefined, augmentations: string[]): any; abstract removeModel(modelId: string): any; abstract addExperiment(modelId: string, experimentId: string, name: string, description: string, modelDevFile: string | null): any; abstract updateExperiment(modelId: string, experimentId: string, description: string, modelDevFile: string | null): any; abstract removeExperiment(modelId: string, experimentId: string): any; abstract addTest(modelId: string, experimentId: string, testId: string | undefined, name: string, modelFile: string | null): any; abstract updateTest(modelId: string, testId: string, parameters: any, reports: string[] | undefined, outputs: string[] | undefined, isBest: boolean | undefined): any; abstract removeTest(modelId: string, experimentId: string, testId: string): any; constructor(backendBaseUrl: vscode.Uri); }