import DifferenceSet from "../storage/DifferenceSet";
import { CreatorToolsMinecraftState } from "../app/CreatorTools";
/**
 * Minecraft server port constants for multi-slot architecture.
 * Slot 0 = 19132, Slot 1 = 19164, Slot 2 = 19196, etc. (32-port spacing)
 * Debug ports follow the same pattern starting at 19144 (19132 + 12)
 */
export declare const MINECRAFT_BASE_PORT = 19132;
export declare const MINECRAFT_PORT_INCREMENT = 32;
export declare const MINECRAFT_DEBUG_PORT_OFFSET = 12;
export default class MinecraftUtilities {
    /**
     * Get the Minecraft UDP port for a given slot number.
     * Slot 0 = 19132, Slot 1 = 19164, Slot 2 = 19196, etc.
     * @param slotNumber The slot number (0-based)
     * @returns The UDP port for Minecraft connections
     */
    static getPortForSlot(slotNumber: number): number;
    /**
     * Get the slot number from a Minecraft UDP port.
     * @param port The UDP port
     * @returns The slot number (0-based)
     */
    static getSlotFromPort(port: number): number;
    /**
     * Get the script debugger port for a given slot number.
     * The debug port is the base port + 12 for each slot.
     * Slot 0 = 19144, Slot 1 = 19176, Slot 2 = 19208, etc.
     * @param slotNumber The slot number (0-based)
     * @returns The debug port for the script debugger
     */
    static getDebugPortForSlot(slotNumber: number): number;
    static isReloadableSetOfChanges(differenceSet: DifferenceSet): boolean;
    static removeSubTypeExtensionFromName(name: string): string;
    static getServerStatusFromState(state: CreatorToolsMinecraftState): "none" | "error" | "unknown" | "disconnected" | "stopped" | "starting" | "stopping" | "preparing" | "running" | "initializing" | "initialized" | "prepared" | "new minecraft";
    static getIsBuiltIn(eventId: string): eventId is "minecraft:entity_spawned" | "minecraft:entity_born" | "minecraft:transformed" | "minecraft:on_prime";
    static getAfterPackPath(path: string): string;
    static getNamespacedIdNamspace(name: string): string;
    static getNamespacedIdName(name: string): string;
    static pathLooksLikeSkinPackContainerName(path: string): boolean;
    static pathLooksLikeBehaviorPackContainerName(path: string): boolean;
    static pathLooksLikeDesignPackContainerName(path: string): boolean;
    static pathLooksLikeResourcePackContainerName(path: string): boolean;
    static pathLooksLikePackContainerName(path: string): boolean;
    static pathLooksLikeDesignPackName(path: string): boolean;
    static pathLooksLikeBehaviorPackName(path: string): boolean;
    static isBedrockItem(itemId: string): boolean;
    static getBlockDefaultTexturePath(blockId: string): string;
    static shortenFilterDescription(descript: string): string;
    static clearCommonTerms(path: string): string;
    static pathLooksLikeResourcePackName(path: string): boolean;
    static pathLooksLikeSkinPackName(path: string): boolean;
    static pathLooksLikePersonaPackName(path: string): boolean;
    static pathLooksLikeWorldFolderName(path: string): boolean;
    static pathLooksLikeSubPacksFolderName(path: string): boolean;
    static pathLooksLikePackName(path: string): boolean;
    static replaceMinecraftPathTokens(tokenizePath: string): string;
    static makeNameScriptSafe(tokenName: string): string;
    static makeNameFolderSafe(tokenName: string): string;
    static getVersionArrayFrom(ver: string | number | number[] | undefined): number[];
    static getVersionNumber(ver: string): number;
    static cleanUpScriptDescription(scriptDescription: string): string;
    static getIdsAndVersions(packStr: string): {
        uuid: string;
        version: number[];
    }[];
    static isValidUuid(uuid: string): boolean;
    static fixupJson(json: string): string;
    static canonicalizeName(id: string): string;
    static canonicalizeFullName(id: string): string;
}
