import ProjectInfoItem from "../info/ProjectInfoItem";
import Project from "../app/Project";
import IProjectInfoGenerator from "../info/IProjectInfoGenerator";
import IProjectUpdater from "../updates/IProjectUpdater";
import ProjectUpdateResult from "../updates/ProjectUpdateResult";
import { IProjectInfoTopicData } from "../info/IProjectInfoGeneratorBase";
import ProjectInfoSet from "../info/ProjectInfoSet";
import ContentIndex from "../core/ContentIndex";
/**
 * Validates and updates min_engine_version settings in pack manifests.
 *
 * @see {@link ../../../public/data/forms/mctoolsval/minenginever.form.json} for topic definitions
 */
export declare enum MinEngineVersionManagerTest {
    behaviorPackMinEngineVersion = 100,
    behaviorPackMinEngineVersionMajorLowerThanCurrent = 110,
    behaviorPackMinEngineVersionMajorHigherThanCurrent = 111,
    behaviorPackMinEngineVersionMinorLowerThanCurrent = 120,
    behaviorPackMinEngineVersionMinorHigherThanCurrent = 121,
    behaviorPackMinEngineVersionPatchLowerThanCurrent = 130,
    behaviorPackMinEngineVersionPatchHigherThanCurrent = 131,
    noPackManifestFound = 180,
    versionProcessingErrorsFound = 181,
    resourcePackMinEngineVersion = 200,
    resourcePackMinEngineVersionMajorLowerThanCurrent = 210,
    resourcePackMinEngineVersionMajorHigherThanCurrent = 211,
    resourcePackMinEngineVersionMinorLowerThanCurrent = 220,
    resourcePackMinEngineVersionMinorHigherThanCurrent = 221,
    resourcePackMinEngineVersionPatchLowerThanCurrent = 230,
    resourcePackMinEngineVersionPatchHigherThanCurrent = 231,
    retrieveLatestMinecraftVersion = 500,
    parseLatestMinecraftVersion = 501
}
export default class MinEngineVersionManager implements IProjectInfoGenerator, IProjectUpdater {
    id: string;
    title: string;
    performPlatformVersionValidations: boolean;
    getTopicData(topicId: number): IProjectInfoTopicData | undefined;
    getUpdaterData(updaterId: number): {
        title: string;
    };
    summarize(info: any, infoSet: ProjectInfoSet): void;
    generate(project: Project, contentIndex: ContentIndex): Promise<ProjectInfoItem[]>;
    update(project: Project, updateId: number): Promise<ProjectUpdateResult[]>;
    getUpdateIds(): number[];
    updateMinEngineVersionToLatestVersion(project: Project): Promise<ProjectUpdateResult[]>;
}
