import IColor from "../core/IColor";
import { ProjectItemType } from "./IProjectItemData";
/**
 * Semantic category groups for project items.
 * These map to visual groupings in the UI item list.
 */
export declare enum ProjectItemTypeGroup {
    design = "design",
    scriptsLogic = "scriptsLogic",
    entityTypes = "entityTypes",
    itemTypes = "itemTypes",
    blockTypes = "blockTypes",
    worldWorldgen = "worldWorldgen",
    modelsAnimations = "modelsAnimations",
    texturesAudio = "texturesAudio",
    vibrantVisuals = "vibrantVisuals",
    uiUx = "uiUx",
    configDev = "configDev",
    packaging = "packaging",
    skinPersona = "skinPersona",
    meta = "meta",
    unknown = "unknown"
}
/**
 * Color palette for project item type groups.
 * Colors are inspired by Minecraft materials and items.
 */
export declare const ProjectItemTypeGroupColors: Record<ProjectItemTypeGroup, IColor>;
/**
 * Maps each ProjectItemType to its semantic group.
 */
export declare function getProjectItemTypeGroup(itemType: ProjectItemType): ProjectItemTypeGroup;
/**
 * Gets the semantic color for a project item type.
 */
export declare function getColorForProjectItemType(itemType: ProjectItemType): IColor;
/**
 * Gets the hex color string for a project item type.
 */
export declare function getHexColorForProjectItemType(itemType: ProjectItemType): string;
/**
 * Display order for groups in the UI item list.
 * Order: Design → Scripts → Entities → Items → Blocks → World → Models → Textures → VV → UI → Config → Packaging → Skins → Meta → Unknown
 */
export declare const ProjectItemTypeGroupSortOrder: ProjectItemTypeGroup[];
/**
 * Gets the sort order index for a project item type group.
 */
export declare function getGroupSortOrder(group: ProjectItemTypeGroup): number;
/**
 * Gets the sort order for a project item type based on its group.
 */
export declare function getSortOrderForProjectItemType(itemType: ProjectItemType): number;
/**
 * Display name for each group.
 */
export declare const ProjectItemTypeGroupNames: Record<ProjectItemTypeGroup, string>;
/**
 * SVG path data for each project item type group icon.
 * Icons are designed on a 16x16 grid with a blocky Minecraft aesthetic.
 */
export declare const ProjectItemTypeGroupIcons: Record<ProjectItemTypeGroup, string>;
/**
 * Gets the SVG icon path for a project item type group.
 */
export declare function getIconPathForGroup(group: ProjectItemTypeGroup): string;
/**
 * Gets the SVG icon path for a project item type.
 */
export declare function getIconPathForProjectItemType(itemType: ProjectItemType): string;
/**
 * Individual item type icons - more specific icons for commonly used types.
 * Falls back to group icon if not defined.
 */
export declare const ProjectItemTypeSpecificIcons: Partial<Record<ProjectItemType, string>>;
/**
 * Gets the specific SVG icon path for a project item type.
 * Falls back to the group icon if no specific icon is defined.
 */
export declare function getSpecificIconPathForProjectItemType(itemType: ProjectItemType): string;
