import { FormElement, JSONSchema } from '@tomino/dynamic-form';
import { ProjectDataSet } from './form_store';
import { IProject, IStorage } from '../storage/common_storage';
declare type Builder = (form: FormElement, schema: JSONSchema) => ProjectDataSet;
export declare class ProjectManager {
    static LAST: string;
    storage: IStorage;
    private project;
    private buildProject;
    constructor(storage: IStorage, builder: Builder);
    listProjects(): Promise<IProject[]>;
    loadLastProject(): Promise<ProjectDataSet>;
    loadById(id: string): Promise<ProjectDataSet>;
    load(project: IProject, saveLast?: boolean): ProjectDataSet;
    duplicateProject(project: ProjectDataSet, name: string): ProjectDataSet;
    saveProject(project: ProjectDataSet, id?: string, name?: string): IProject;
    save(project: IProject): IProject;
    deleteProject(id: string): void;
    createProject(name: string): ProjectDataSet;
}
export {};
