import { Project } from "../../lfs/models/project.model.js";
import { RootDirectoryInfo } from "../../lfs/models/root-directory-info.model.js";
import { VCSProject } from "../../vcs/models/vcs-project.model.js";
export type ProjectState = {
    projects: (Project | VCSProject)[];
    active: Project | VCSProject | null;
};
export type ProjectActions = {
    intializeStore: () => Promise<void>;
    loadProjectsForParentsFolder: (rootDirectoryInfo: RootDirectoryInfo) => Promise<void>;
    loadProjectsForParentsFolders: (rootDirectories: RootDirectoryInfo[]) => Promise<void>;
    addProject: (newProject: Project | VCSProject) => void;
    createProject: (newProject: Project | VCSProject, fileList?: File[]) => Promise<void>;
    updateProject: (prevProject: Project | VCSProject, updatedProject: Project | VCSProject) => void;
    openProject: (project: Project | VCSProject) => Promise<void>;
    refreshProject: (project: Project | VCSProject) => Promise<void>;
    toggleIsPinnedProject: (projectName: string, rootDirectoryAlias: string) => void;
    deleteProjects: (parentFolderAlias: string[]) => void;
    removeProjects: (projects: (Project | VCSProject)[]) => void;
    addProjects: (newProject: (Project | VCSProject)[]) => void;
    setActive: (project: Project | VCSProject | null) => void;
    setLastUpdatedForActiveProject: (lastUpdated?: number) => void;
    intializeVcsStore: () => Promise<void>;
    removeAllVCSProject: () => void;
    refreshActiveProject: () => void;
    setActiveOnVcsCommitAndPush: (project: Project | VCSProject | null) => void;
};
//# sourceMappingURL=project-store.model.d.ts.map