import ProjectInfoItem from "./ProjectInfoItem";
import Project from "../app/Project";
import IProjectInfoGenerator from "./IProjectInfoGenerator";
import IFolder from "../storage/IFolder";
import ProjectInfoSet from "./ProjectInfoSet";
import ContentIndex from "../core/ContentIndex";
export declare enum CooperativeAddOnRequirementsGeneratorTest {
    noLooseFileInTypeFolder = 101,
    noCommonNamesInCreatorFolderName = 102,
    noLooseFileInCreatorFolder = 104,
    moreThanOneFolderInCreatorFolderBesidesMaybeCommon = 108,
    noUnsupportedFolderNameInTypeFolder = 109,
    moreThanOneFolderInTypeFolder = 110,
    noLooseFilesInTypeFolder = 111,
    noDimensionElements = 131,
    noUiElements = 133,
    notOneBehaviorPackManifest = 160,
    notOneResourcePackManifest = 161,
    behaviorPackManifestNotValid = 163,
    resourcePackManifestNotValid = 164,
    notOneDependencyFromBehaviorPackToResourcePack = 165,
    dependencyFromBehaviorPackToResourcePackNotValid = 166,
    notOneDependencyFromResourcePackToBehaviorPack = 168,
    dependencyFromResourcePackToBehaviorPackNotValid = 169,
    foundBehaviorPack = 200,
    noVibrantVisualsForNow = 210
}
/**
 * Validates cooperative add-on requirements for marketplace submissions.
 *
 * @see {@link ../../public/data/forms/mctoolsval/caddonreq.form.json} for topic definitions
 */
export default class CooperativeAddOnRequirementsGenerator implements IProjectInfoGenerator {
    id: string;
    title: string;
    generate(project: Project, contentIndex: ContentIndex): Promise<ProjectInfoItem[]>;
    summarize(info: any, infoSet: ProjectInfoSet): void;
    generateFromBehaviorPackFolder(project: Project, folder: IFolder, items: ProjectInfoItem[]): Promise<void>;
    generateFromResourcePackFolder(project: Project, folder: IFolder, items: ProjectInfoItem[]): Promise<void>;
    static isNameGenericTerm(name: string): boolean;
    static isNamespacedIdentifier(id: string): boolean;
    static isNamespacedString(name: string): boolean;
    static isCommonMaterialName(name: string): boolean;
    static isUniqueNamespaceOrShortName(name: string): boolean;
    generateFromFirstLevelFolderCreator_Game(project: Project, folder: IFolder, items: ProjectInfoItem[]): Promise<void>;
    isPerPackCatalogFile(folderName: string, fileName: string): boolean;
    generateFromFirstLevelFolderCreatorNameGameName(project: Project, folder: IFolder, items: ProjectInfoItem[]): Promise<void>;
    generateFromSecondLevelFolderGameName(project: Project, parentFolderName: string, folder: IFolder, items: ProjectInfoItem[]): Promise<void>;
}
