import * as vscode from 'vscode'; import * as projectmanager from './ProjectManager'; /** * @interface DbProjectManager * * @description HTTP DB project manager client class let handling of an Edge.AI project data model stored remotly */ export declare class DbProjectManager extends projectmanager.IProjectManager { private projectId; _project: any; private deserializedProject; get project(): projectmanager.Project; constructor(backendBaseUrl: vscode.Uri); /** * Inerithed methods */ /** * @name connect * @description Set current project * * @param projectId Project ID */ connect(projectId: string): void; /** * @name load * @description Query current selected project from DB */ load(): Promise; /** * @name newProject * @description Load project json file from filesystem and fire project change event * * @param projectId Project ID (optional). If not provided, it will be generated following UUID v4 format * @param name Project name * @param description Project description * @param owner Project owner * @param version Project version (optional). If not provided, will be assigned the default version (i.e. "0.0.1") */ newProject(id: string, name: string, description: string, owner: string, version: string): Promise; /** * @name addModel * @description Create a new model for the current project * * @param modelId Model ID. If not provided, it will be generated following UUID v4 format * @param inputId Input ID. If not provided, it will be generated following UUID v4 format * @param outputId Output ID. If not provided, it will be generated following UUID v4 format * @param name Model name * @param stage Model stage * @param inputType Model input type * @param modelType Model type * @param outputType Model output type * @param trainingType Model training type * @param modelMetadata Model metadata * @param inputTools Model input tools * @param outputTools Model output tools */ addModel(modelId: string, inputId: string, outputId: string, name: string, stage: projectmanager.ModelStage, inputType: projectmanager.InputType, modelType: projectmanager.ModelType, outputType: projectmanager.OutputType, trainingType: projectmanager.TrainingType, modelMetadata: any, inputTools: projectmanager.Tool[], outputTools: projectmanager.Tool[]): Promise; /** * @name updateModel * @description Update existing model with input parameters (if provided) * * @param modelId Model ID * @param inputId Input ID (optional). Required only if augmentations is specified * @param stage Model stage (optional). If not provided, field will be not updated * @param modelMetadata Model metadata (optional). If not provided, field will be not updated * @param augmentations Model augmentations (optional). If not provided, field will be not updated */ updateModel(modelId: string, inputId: string | undefined, stage: projectmanager.ModelStage | undefined, modelMetadata: any | undefined, augmentations: string[] | undefined): Promise; /** * @name removeModel * @description Remove existing model * * @param modelId Model ID * @param modelId Input ID * @param modelId Output ID */ removeModel(modelId: string): Promise; /** * @name addExperiment * @description Create a new experiment for a given model * * @param modelId Model ID * @param experimentId Experiment ID. If not provided, it will be generated following UUID v4 format * @param name Exeperiment name * @param description Experiment description * @param modelDevFile Model development filename */ addExperiment(modelId: string, experimentId: string, name: String, description: String, modelDevFile: String | null): Promise; /** * @name updateExperiment * @description Update existing experiment with input parameters (if provided) * * @param modelId Model ID * @param experimentId Experiment ID * @param description Experiment description (optional). If not provided, field will be not updated * @param classes Model development file name (optional). If not provided, field will be not updated */ updateExperiment(modelId: string, experimentId: string, description: string | undefined, modelDevFile: string | null | undefined): Promise; /** * @name removeExperiment * @description Remove existing experiment * * @param modelId Model ID * @param experimentId Experiment ID */ removeExperiment(modelId: string, experimenId: string): Promise; /** * @name addTest * @description Create a new test for a given experiment * * @param modelId Model ID * @param outputId Output ID * @param testId Test ID. If not provided, it will be generated following UUID v4 format * @param name Test name * @param modelFile Model file name */ addTest(experimentId: string, outputId: string, testId: string, name: string, modelFile: string | null): Promise; /** * @name updateTest * @description Update existing test with input parameters (if provided) * * @param modelId Model ID * @param testId Test ID * @param parameters Parameters used to generate reports and/or output. If not provided, field will be not updated * @param reports Report filenames. If not provided, field will be not updated * @param outputs Ouputs filenames. If not provided, field will be not updated * @param isBest Is the best test? (default false) */ updateTest(outputId: string, testId: string, parameters: any, reports: string[] | undefined, outputs: string[] | undefined, isBest?: boolean | undefined): Promise; /** * @name removeTest * @description Remove existing test * * @param modelId Model ID (not required). If provided, it will be ignored * @param outputId Experiment ID * @param testId Test ID */ removeTest(modelId: string | undefined, outputId: string, testId: string): Promise; }