import { CustomConfig } from './interfaces/custom-config-interface.js'; import { TS_TYPES } from './various.js'; export declare class EnumListGenerator { private arEnums; private fileName; constructor(fileName?: string); /** * Aggiunge uno o più enum (se viene passato un array, i nuovi enum verranno aggiunti in fondo) * @param enumToAdd * @returns */ addEnum(enumToAdd: EnumSingleGenerator | (EnumSingleGenerator | undefined)[]): EnumListGenerator; /** * Ottiene la stringa finale con tutti i dati che verranno salvati sul file * @returns */ getFinalStringRepresentation(filePath?: string): Promise; /** * Crea il file contenente tutti gli enum * @param path percorso in cui crearre il file * @returns */ saveToFile(path: string): Promise; } export declare class EnumSingleGenerator { private suppliedName; private arProperties; private type; /** * Elimina tutta la parte prima del punto, e mette il nome tutto maiuscolo * @param incomingName nome enuma in arrivo da inde */ static normalizeEnumName(incomingName: string): string; /** * Mette il nome tutto maiuscolo e sostituisce eventuali spazi con _ * @param incomingName * @returns */ static normalizePropertyName(incomingName: string): string; private static isNumber; private static reattachStrings; /** * Restituisce il nome finale dell'enum normalizzato * @returns */ private getFinalEnumName; /** * Restituisce la rappresentazione in stringa per il valore passato (la formattazione tiene conto del tipo dell'enum: stringa o number) * @param prop * @returns */ private getPropFormattedValue; /** * * @param name nome dell'enum * @param type tipo di enum; se viene passato null, si assume tipo stringa */ constructor(name: string, type: TS_TYPES | null, params: CustomConfig); /** * Aggiunge una proprietà all'enum * @param name * @param value */ addProperty(name: string, value: string | number): EnumSingleGenerator; /** * Restituisce la stringa finale rappresentante l'enum * @returns */ getFinalString(): string; } export interface EnumPropertyDescriptor { name: string; value: string | number; }