export const DetectorJsTsMensagens = {
    tipoAnyComUtilidade: (varNome, _tipo) => `Use of 'any' type helper in '${varNome}' masks type safety loss`,
    tipoAnyComUtilidadeSugestao: (tipo) => `Replace with: ${tipo.replace('any', 'SpecificType')}`,
    anyCatchBlock: (varNome) => varNome ? `'any' in catch block '${varNome}' - TypeScript recommends 'unknown'` : "'any' in catch block - TypeScript recommends 'unknown'",
    anyCatchBlockSugestao: "Replace with: catch (error: unknown) { ... }",
    callbackAny: (varNome) => varNome ? `Callback '${varNome}' uses 'any' parameter - weak typing` : "Callback uses 'any' parameter - weak typing",
    callbackAnySugestao: 'Define callback interface: (param: SpecificType) => void',
    eventHandlerAny: (varNome) => varNome ? `Event handler '${varNome}' uses 'any' - can use DOM event types` : "Event handler uses 'any' - can use DOM event types",
    eventHandlerAnySugestao: 'Use DOM types: MouseEvent, KeyboardEvent, etc or React.SyntheticEvent<T>',
    indexSignatureAny: 'Index signature with any is too permissive',
    indexSignatureAnySugestao: 'Use [key: string]: unknown (safer) or define a union type',
    recordAny: (varNome) => varNome ? `Record with 'any' in '${varNome}' - no type safety` : "Record with 'any' - no type safety",
    recordAnySugestao: 'Use Record<string, unknown> or a specific interface',
    arrayAny: (varNome) => varNome ? `Array of 'any' in '${varNome}' - loses typing` : "Array of 'any' - loses typing",
    arrayAnySugestao: 'Specify array type: string[], number[], CustomType[], etc',
    tipoAnyGenerico: (varNome) => varNome ? `Type 'any' in '${varNome}' disables type checking` : "Type 'any' disables type checking",
    tipoAnyGenericoSugestao: 'Analyze variable usage and define a specific type or use unknown with type guards',
    contextoAdicionalTipos: ' | [WARNING]  Type file impacts entire codebase',
    contextoAdicionalCore: ' | [WARNING]  Core/shared module used by many components',
    revisaoManual: ' | [REVIEW] Manual review required',
    tipoPermissivo: (tipo) => `Type '${tipo}' is too permissive and weak for type safety`,
    tipoObjectSugestao: 'Use Record<string, unknown> or a specific interface',
    tipoVazioSugestao: 'Use Record<string, never> for empty objects or a specific interface',
    typeAssertionAny: "Type assertion 'as any' completely disables type checking",
    assertionCastFuncaoSugestao: 'Avoid return type casting - type the function correctly or use unknown with a type guard',
    assertionCastPropriedadeSugestao: 'Avoid property cast - define the correct type on the parent object',
    assertionCastParametroSugestao: 'Type assertion in parameter - define the correct type in the called function signature',
    assertionCastGenericoSugestao: 'Replace with a specific type or use unknown with runtime validation',
    assertionCritico: ' | [ALERT] CRITICAL: Type safety completely disabled',
    angleBracketCast: "Type casting '<any>' (legacy syntax) disables type safety | [IDEA] Use modern 'as' syntax and a specific type | [ALERT] CRITICAL: Migrate to modern syntax and a correct type",
    unknownLegitimo: (varNome, motivo) => varNome ? `Type 'unknown' in '${varNome}': ${motivo}` : `Type 'unknown': ${motivo}`,
    unknownMelhoravel: (varNome, confianca) => varNome ? `Type 'unknown' in '${varNome}' can be improved (${confianca}% confidence)` : `Type 'unknown' can be improved (${confianca}% confidence)`,
    unknownCorrigir: (varNome, confianca) => varNome ? `Type 'unknown' in '${varNome}' should be fixed (${confianca}% confidence)` : `Type 'unknown' should be fixed (${confianca}% confidence)`,
    unknownRevisaoManual: ' | [WARNING] Manual review recommended',
    unknownRevisaoObrigatoria: ' | [REVIEW] Manual review required',
    floatingPromise: (funcName) => `Potentially asynchronous call '${funcName}' not awaited (floating promise). Add 'await' or handle with '.catch()'.`,
    asyncInForEach: (propName) => `Using 'async' inside '${propName}' does not wait for execution. Prefer iterating with 'for...of'.`,
    asyncInMap: (_propName) => `Using 'async' inside 'map'. Wrap and await with 'Promise.all(...)'.`,
    setIntervalUnassigned: 'setInterval call without storing the reference. This can lead to a memory leak and extra processing.',
    windowSetIntervalUnassigned: 'window.setInterval call without storing the reference (memory leak).',
    globalListenerNoCleanup: "Global addEventListener detected in React component, but removeEventListener was not found. This will cause memory leaks on unmount.",
};
//# sourceMappingURL=detector-js-ts-messages.js.map