export const DetectorJsTsMensagens = {
    tipoAnyComUtilidade: (varNome, _tipo) => `'${varNome}'での'any'付き型ユーティリティの使用は型安全性を隠蔽します`,
    tipoAnyComUtilidadeSugestao: (tipo) => `次に置き換えてください: ${tipo.replace('any', 'TipoEspecifico')}`,
    anyCatchBlock: (varNome) => varNome ? `catchブロック '${varNome}' の'any' - TypeScriptは'unknown'を推奨` : "catchブロックの'any' - TypeScriptは'unknown'を推奨",
    anyCatchBlockSugestao: "次に置き換えてください: catch (error: unknown) { ... }",
    callbackAny: (varNome) => varNome ? `コールバック '${varNome}' に'any'パラメータ - 弱い型付け` : "コールバックに'any'パラメータ - 弱い型付け",
    callbackAnySugestao: 'コールバックのインターフェースを定義: (param: TipoEspecifico) => void',
    eventHandlerAny: (varNome) => varNome ? `イベントハンドラ '${varNome}' が'any'を使用 - Event typesが使用可能` : "イベントハンドラが'any'を使用 - Event typesが使用可能",
    eventHandlerAnySugestao: 'DOMタイプ（MouseEvent, KeyboardEvent等）またはReact.SyntheticEvent<T>を使用してください',
    indexSignatureAny: 'anyを使用した拡張可能なインデックス - 非常に寛容すぎます',
    indexSignatureAnySugestao: '[key: string]: unknown（より安全）を使用するか、ユニオン型を定義してください',
    recordAny: (varNome) => varNome ? `'${varNome}' のRecordが'any'を使用 - 型安全性なし` : "Recordが'any'を使用 - 型安全性なし",
    recordAnySugestao: 'Record<string, unknown>または特定のインターフェースを使用してください',
    arrayAny: (varNome) => varNome ? `'${varNome}' の'any'配列 - 型情報を損失` : "'any'配列 - 型情報を損失",
    arrayAnySugestao: '配列の型を指定: string[], number[], CustomType[] など',
    tipoAnyGenerico: (varNome) => varNome ? `'${varNome}' の'any'型は型チェックを無効にします` : "'any'型は型チェックを無効にします",
    tipoAnyGenericoSugestao: '変数の使用法を分析し、特定の型を定義するか、type guard付きでunknownを使用してください',
    contextoAdicionalTipos: ' | [警告] 型定義ファイル - コードベース全体に影響します',
    contextoAdicionalCore: ' | [警告] コア/共有モジュール - 多くのコンポーネントで使用されています',
    revisaoManual: ' | [検索] 手動レビュー必須',
    tipoPermissivo: (tipo) => `型 '${tipo}' は非常に寛容で型安全性にほとんど役立ちません`,
    tipoObjectSugestao: 'Record<string, unknown>または特定のインターフェースを使用してください',
    tipoVazioSugestao: '空のオブジェクトにはRecord<string, never>または特定のインターフェースを使用してください',
    typeAssertionAny: "'as any' の型アサーションは型チェックを完全に無効にします",
    assertionCastFuncaoSugestao: '関数の戻り値のキャストを避けてください - 関数を適切に型付けするか、type guard付きのunknownを使用してください',
    assertionCastPropriedadeSugestao: 'プロパティのキャストを避けてください - 親オブジェクトで正しい型を定義してください',
    assertionCastParametroSugestao: 'パラメータの型アサーション - 呼び出された関数のシグネチャで正しい型を定義してください',
    assertionCastGenericoSugestao: '特定の型に置き換えるか、ランタイム検証付きのunknownを使用してください',
    assertionCritico: ' | [ALERT] 重要: 型安全性が完全に無効化されています',
    angleBracketCast: "'<any>' の型キャスト（レガシー構文）は型安全性を無効にします | [提案] モダンな'as'構文と特定の型を使用 | [ALERT] 重要: モダンな構文と正しい型に移行してください",
    unknownLegitimo: (varNome, motivo) => varNome ? `'${varNome}' の'unknown'型: ${motivo}` : `'unknown'型: ${motivo}`,
    unknownMelhoravel: (varNome, confianca) => varNome ? `'${varNome}' の'unknown'型は改善可能です（${confianca}% 確信度）` : `'unknown'型は改善可能です（${confianca}% 確信度）`,
    unknownCorrigir: (varNome, confianca) => varNome ? `'${varNome}' の'unknown'型は修正が必要です（${confianca}% 確信度）` : `'unknown'型は修正が必要です（${confianca}% 確信度）`,
    unknownRevisaoManual: ' | [警告] 手動レビュー推奨',
    unknownRevisaoObrigatoria: ' | [検索] 手動レビュー必須',
    floatingPromise: (funcName) => `非同期呼び出し '${funcName}' がawaitされていません（floating promise）。'await'を追加するか'.catch()'で処理してください。`,
    asyncInForEach: (propName) => `'${propName}' 内での'async'の使用は実行を待機しません。'for...of'での反復を推奨します。`,
    asyncInMap: (_propName) => `'map'内での'async'の使用。'Promise.all(...)'でラップして待機するようにしてください。`,
    setIntervalUnassigned: '参照を保存せずにsetIntervalを呼び出しています。メモリリークや処理の浪費につながる可能性があります。',
    windowSetIntervalUnassigned: '参照を保存せずにwindow.setIntervalを呼び出しています（メモリリーク）。',
    globalListenerNoCleanup: "Reactコンポーネントでグローバルイベント 'addEventListener' が検出されましたが、'removeEventListener' が見つかりません。アンマウント時にメモリリークが発生します。",
};
//# sourceMappingURL=detector-js-ts-messages.js.map