export declare const ReactMensagens: {
    readonly linkTargetBlank: "Link com target=\"_blank\" sem rel=\"noreferrer\"/\"noopener\".";
    readonly dangerouslySetInnerHTML: "Uso de dangerouslySetInnerHTML encontrado; valide a necessidade.";
    readonly imgWithoutAlt: "Imagem sem atributo alt (acessibilidade).";
    readonly httpFetch: "Chamada HTTP sem TLS detectada; prefira HTTPS.";
    readonly hardcodedCredential: "Possível credencial hardcoded; use variáveis de ambiente.";
    readonly locationHrefRedirect: "Atribuição direta a location.href; valide origem para evitar open redirect.";
    readonly listItemNoKey: "Item em lista (map) sem atributo key.";
    readonly indexAsKey: "Uso de índice como key (pode causar problemas de reordenação).";
    readonly inlineHandlerJsx: "Handler inline detectado em JSX; prefira funções estáveis (useCallback) ou extrair fora do render.";
    readonly deprecatedLifecycleMethod: (name: string) => string;
    readonly complexInlineStyles: "Estilos inline complexos detectados. Considere usar CSS modules ou styled-components para melhor performance e organização.";
};
export declare const ReactHooksMensagens: {
    readonly useEffectNoDeps: "useEffect sem array de dependências (avalie deps para evitar loops).";
    readonly memoCallbackNoDeps: "Hook sem array de dependências (useMemo/useCallback).";
    readonly hookInConditional: "Hook declarado dentro de condicional (quebra Rules of Hooks).";
};
export declare const TailwindMensagens: {
    readonly conflictingClasses: (key: string, tokens: string[]) => string;
    readonly repeatedClass: (token: string) => string;
    readonly importantUsage: (token: string) => string;
    readonly variantConflict: (prop: string, variants: string[]) => string;
    readonly dangerousArbitraryValue: (token: string) => string;
    readonly arbitraryValue: (token: string) => string;
};
export declare const CssMensagens: {
    readonly duplicatePropertySame: (prop: string) => string;
    readonly duplicatePropertyDifferent: (prop: string, prev: string, curr: string) => string;
    readonly importantUsage: "Uso de !important detectado; prefira especificidade adequada.";
    readonly httpImport: "Importação via HTTP detectada; prefira HTTPS ou bundling local.";
    readonly httpUrl: "Recurso externo via HTTP em url(); prefira HTTPS.";
    readonly unifySelectors: (selectors: string[], propsCount: number) => string;
    readonly idSelectorPreferClass: (selector: string) => string;
    readonly invalidProperty: (prop: string) => string;
    readonly malformedSelector: (selector: string) => string;
    readonly emptyRule: "Regra CSS vazia detectada. Remova regras sem declarações.";
    readonly vendorPrefixDeprecated: (prop: string) => string;
    readonly cssHackDetected: (hack: string) => string;
};
export declare const HtmlMensagens: {
    readonly doctype: "Documento sem <!DOCTYPE html> declarado.";
    readonly htmlLang: "Elemento <html> sem atributo lang (acessibilidade).";
    readonly metaCharset: "Falta <meta charset=\"utf-8\"> no documento.";
    readonly viewport: "Falta meta viewport para responsividade.";
    readonly title: "Documento sem <title> definido.";
    readonly linkTargetBlank: "Link com target=\"_blank\" sem rel=\"noreferrer\"/\"noopener\".";
    readonly linkNoHref: "Link sem href válido ou sem handler (UX). Use <button> ou role=\"button\".";
    readonly imgWithoutAlt: "Imagem sem atributo alt ou acessibilidade (WCAG 2.1).";
    readonly imgWithoutLoading: "Imagem sem atributo loading (performance). Considere loading=\"lazy\".";
    readonly imgWithoutDimensions: "Imagem sem width/height (layout shift). Defina dimensões para evitar CLS.";
    readonly formWithoutMethod: "Formulário sem method especificado (GET/POST).";
    readonly formWithoutAction: "Formulário sem action ou data-attribute para processamento.";
    readonly inputWithoutLabel: "Input sem name, id ou aria-label (acessibilidade/usabilidade).";
    readonly passwordWithoutAutocomplete: "Campo password sem autocomplete especificado (segurança).";
    readonly inputWithoutType: "Input sem type especificado (assume text, mas seja explícito).";
    readonly inlineHandler: "Handler inline detectado (on*). Prefira listeners externos ou data-attributes com JS.";
    readonly inlineScript: "Script inline detectado. Prefira arquivos externos para melhor cache e CSP.";
    readonly inlineStyle: "Style inline detectado. Prefira arquivos CSS externos para melhor cache.";
    readonly scriptWithoutDefer: "Script sem defer/async. Pode bloquear renderização; considere defer.";
    readonly headingSkipped: (current: number, expected: number) => string;
    readonly buttonWithoutText: "Botão sem texto ou aria-label (acessibilidade).";
    readonly tableWithoutCaption: "Tabela sem <caption> ou aria-label (acessibilidade).";
    readonly iframeWithoutTitle: "Iframe sem title (acessibilidade).";
    readonly largeInlineScript: "Script inline muito grande. Mova para arquivo externo.";
    readonly multipleH1: "Múltiplos <h1> detectados. Use apenas um por página para SEO/acessibilidade.";
};
export declare const XmlMensagens: {
    readonly xmlPrologAusente: "XML sem declaração <?xml ...?> (opcional, mas melhora compatibilidade).";
    readonly doctypeDetectado: "XML contém <!DOCTYPE>. Atenção a vetores de XXE (entidades externas).";
    readonly doctypeExternoDetectado: "XML contém DOCTYPE com identificador externo (SYSTEM/PUBLIC). Risco elevado de XXE se parser não for seguro.";
    readonly entidadeDetectada: "XML contém <!ENTITY>. Revise se há risco de expansão/XXE.";
    readonly entidadeExternaDetectada: "XML contém entidade externa (SYSTEM/PUBLIC). Risco alto de XXE se parser não for seguro.";
    readonly entidadeParametroDetectada: "XML contém entidade de parâmetro (<!ENTITY % ...>). Pode ser usada para XXE/DTD injection; revise com cuidado.";
    readonly xincludeDetectado: "XML contém XInclude (<xi:include>). Pode carregar recursos externos; valide origem e parser.";
    readonly namespaceUndeclared: (prefix: string) => string;
    readonly invalidXmlStructure: "Estrutura XML inválida detectada (tags não fechadas ou mal aninhadas).";
    readonly encodingMismatch: (declared: string, detected: string) => string;
    readonly largeEntityExpansion: "Possível entidade com expansão muito grande. Risco de Billion Laughs attack.";
    readonly cdataInAttribute: "CDATA detectado em valor de atributo (inválido em XML).";
};
export declare const FormatadorMensagens: {
    readonly naoFormatado: (parser: string, detalhes?: string) => string;
    readonly parseErro: (parser: string, err: string) => string;
};
export declare const SvgMensagens: {
    readonly naoPareceSvg: "Arquivo .svg não contém uma tag <svg> válida.";
    readonly semViewBox: "SVG sem viewBox detectado (pode prejudicar responsividade).";
    readonly scriptInline: "SVG contém <script>. Risco de segurança: evite SVGs com script embutido.";
    readonly eventoInline: "SVG contém handlers inline (on*). Evite eventos inline em assets.";
    readonly javascriptUrl: "SVG contém javascript: em URL/href. Risco de segurança.";
    readonly podeOtimizar: (originalBytes: number, optimizedBytes: number, mudancas: string[]) => string;
};
export declare const CssInJsMensagens: {
    readonly detectedStyledComponents: "Padrões de styled-components detectados (CSS-in-JS).";
    readonly detectedStyledJsx: "Padrões de styled-jsx detectados (CSS-in-JS em React).";
    readonly globalStyles: (fonte: "styled-components" | "styled-jsx") => string;
    readonly importantUsage: "Uso de !important em CSS-in-JS detectado; prefira especificidade adequada.";
    readonly httpUrl: "Recurso externo via HTTP em url(); prefira HTTPS.";
    readonly bestPracticesDescricao: "Detecta más práticas em CSS-in-JS";
    readonly detectorGlobalStyles: "Estilos globais detectados";
    readonly sugestaoEvitarGlobalStyles: "Evite estilos globais - use CSS Modules ou scoped styles";
    readonly importantDetected: "!important em CSS-in-JS";
    readonly sugestaoEspecificidade: "Refatore a especificidade ao invés de usar !important";
    readonly httpUrlDetected: "URL HTTP em CSS-in-JS";
    readonly sugestaoHttps: "Use HTTPS para recursos externos";
    readonly mixedStyling: "Mistura de className e inline styles";
    readonly sugestaoMixedStyling: "Escolha uma abordagem: CSS-in-JS ou inline styles";
};
export declare const CssInJsPontuacaoMensagens: {
    readonly notDetected: "CSS-in-JS não detectado";
    readonly detected: "CSS-in-JS detectado";
    readonly noGlobalStyles: "Sem estilos globais";
    readonly globalStylesIssue: "Estilos globais detectados";
    readonly noImportant: "Sem !important";
    readonly importantUsageCount: (count: number) => string;
    readonly noHttpUrls: "Sem URLs HTTP";
    readonly httpUrlCount: (count: number) => string;
    readonly consistentStyling: "Abordagem de styling consistente";
    readonly mixedStylingIssue: "Mistura de className e inline styles";
    readonly themeUsage: "Uso de theme system";
    readonly noThemeSystem: "Sem theme system - considere usar ThemeProvider";
};
export declare const CssInJsCorrecaoMensagens: {
    readonly description: "Correções automáticas para problemas CSS-in-JS";
    readonly correctionSuggested: (tipo: string) => string;
    readonly sugestaoFormat: (original: string, sugerido: string, confianca: number) => string;
    readonly extractGlobalCss: "// Considere mover para um arquivo CSS global separado";
};
export declare const PythonMensagens: {
    readonly missingTypeHints: "Função sem type hints detectada; adicione type hints para melhor legibilidade.";
    readonly hardcodedString: (string: string) => string;
    readonly httpWithoutVerify: "Requisição HTTP sem verify=True detectada; valide certificados SSL.";
    readonly sqlInjection: "Possível SQL injection detectada; use prepared statements.";
    readonly broadExcept: "Exceção genérica (except:) detectada; seja específico.";
    readonly bareRaise: "raise sem contexto detectada; sempre passe a exceção para manter stack trace.";
    readonly passInExcept: "pass em except block; implemente tratamento de erro apropriado.";
    readonly printInsteadOfLog: "print() detectado; prefira logging module para produção.";
    readonly evalUsage: "eval() detectado; evite usar eval - vulnerabilidade de segurança.";
    readonly execUsage: "exec() detectado; evite usar exec - vulnerabilidade de segurança.";
    readonly subprocessShellTrue: "subprocess com shell=True detectado; risco de command injection. Prefira lista de args e shell=False.";
    readonly pickleUsage: "pickle load(s) detectado; nunca desserialize dados não confiáveis (RCE). Prefira formatos seguros (JSON).";
    readonly yamlUnsafeLoad: "yaml.load sem Loader seguro detectado; prefira yaml.safe_load (evita execução).";
    readonly globalKeyword: "Uso de global keyword detectado; prefira passar como parâmetro.";
    readonly mutableDefault: "Argumento com valor padrão mutável (list/dict) detectado; use None como padrão.";
    readonly listComprehensionOpportunity: "Loop que poderia ser list comprehension detectado.";
    readonly loopingOverDict: "Iteração sobre dict sem .items(); considere usar .items().";
};
export declare const GoMensagens: {
    readonly uncheckedError: "Erro não verificado após chamada de função que pode retornar erro.";
    readonly printWithoutFormat: "Uso de fmt.Print* sem string de formato; prefira fmt.Printf com formato.";
    readonly deferInLoop: "defer dentro de loop pode causar vazamento de recursos; mova para fora do loop.";
    readonly hardcodedSecret: "Possível segredo hardcoded detectado; use variáveis de ambiente.";
    readonly unbufferedChanSend: "Envio em canal sem buffer no mesmo goroutine - risco de deadlock.";
    readonly magicNumber: "Número mágico detectado; extraia para constante nomeada.";
    readonly longFunction: "Função muito longa; considere refatorar em funções menores.";
    readonly missingDeferClose: "Recurso não fechado com defer; adicione defer resource.Close().";
    readonly globalVar: "Variável global detectada; considere injeção de dependência.";
    readonly ignoredError: "Erro ignorado explicitamente com _; considere verificar o erro.";
    readonly sqlInjection: "Consulta SQL construída via concatenação de strings; risco de SQL injection. Use consultas parametrizadas.";
    readonly commandInjection: "Comando construído com interpolação de variáveis; risco de command injection.";
    readonly pathTraversal: "Operação de arquivo usando entrada do usuário; risco de path traversal. Valide/sanitize o caminho.";
    readonly namingConvention: (funcName: string) => string;
    readonly longVariableName: (varName: string) => string;
    readonly incompleteImportPath: (path: string) => string;
    readonly goodErrorWrapping: "Boa prática: wrapping de erro com %w em fmt.Errorf";
};
export declare const RustMensagens: {
    readonly unwrapUsage: "Uso de .unwrap() detectado; prefira pattern matching com Result/Option.";
    readonly emptyExpect: ".expect() com mensagem vazia; forneça uma mensagem descritiva.";
    readonly unsafeBlock: "Bloco unsafe detectado; evite unsafe sempre que possível.";
    readonly transmuteUsage: "Uso de transmute detectado; prefira TryFrom/From seguros.";
    readonly noTrimOnInput: "read_line sem trim; o valor pode conter newline.";
    readonly vecWithoutCapacity: "Vec.push() em Vec criado sem with_capacity; pré-aloque para performance.";
    readonly mutexAcrossAwait: "Mutex lock mantido através de .await; risco de deadlock.";
    readonly printlnInLib: "println! em código de biblioteca; use logging framework.";
    readonly magicNumber: "Número mágico detectado; extraia para constante.";
    readonly hardcodedSecret: "Possível segredo hardcoded detectado; use variáveis de ambiente.";
    readonly longFunction: "Função muito longa; considere refatorar em funções menores.";
    readonly genericExpect: ".expect() com mensagem genérica; forneça contexto explicando por que o valor deve ser Some/Ok.";
    readonly unwrapInResult: ".unwrap() em função que retorna Result; use operador ?.";
    readonly stubMacro: (name: string) => string;
    readonly todoFound: "todo!() macro encontrada; implemente antes do lançamento.";
    readonly rawPointer: "Ponteiro bruto usado dentro de bloco unsafe; documente os invariantes de segurança.";
    readonly reprC: "#[repr(C)] detectado; garanta que é necessário para compatibilidade FFI.";
    readonly missingDoc: (fnName: string) => string;
    readonly namingConvention: (constName: string) => string;
    readonly redundantReturn: "return redundante no final da função; Rust usa retorno implícito (última expressão).";
    readonly wildcardImport: (importPath: string) => string;
};
export declare const JavaMensagens: {
    readonly sysoutDetected: "System.out/err.print detectado; use logging framework (SLF4J, Logback).";
    readonly printStackTrace: "e.printStackTrace() detectado; use logger para registrar exceções.";
    readonly hardcodedSecret: "Possível segredo hardcoded detectado; use variáveis de ambiente.";
    readonly sqlConcatenation: "Concatenação de SQL detectada; use PreparedStatement.";
    readonly nullAssignment: "Atribuição de null detectada; considere Optional.";
    readonly emptyCatch: "Bloco catch vazio detectado; pelo menos registre o erro.";
    readonly genericCatch: "Captura de exceção genérica (Exception/Throwable); seja específico.";
    readonly mutableStatic: "Campo static mutável detectado; prefira final ou encapsulamento.";
    readonly longMethod: "Método muito longo; considere extrair métodos menores.";
    readonly lateinitWithoutCheck: "lateinit var sem verificação ::isInitialized antes do uso.";
};
export declare const PhpMensagens: {
    readonly sqlInjection: "Possível SQL injection detectado; use prepared statements (PDO).";
    readonly evalUsage: "eval() detectado; vulnerabilidade de segurança - evite usar.";
    readonly assertString: "assert() com string detectado; risco de code injection.";
    readonly unserializeUsage: "unserialize() detectado; risco de RCE se dados não forem confiáveis.";
    readonly extractUsage: "extract() detectado; risco de sobrescrita de variáveis.";
    readonly urlFetch: "file_get_contents com URL detectado; valide e restrinja URLs.";
    readonly commandExecution: "Função de execução de comando detectada; risco de command injection.";
    readonly requestUsage: "$_REQUEST detectado; prefira $_GET, $_POST ou $_SERVER para clareza.";
    readonly hardcodedSecret: "Possível segredo hardcoded detectado; use variáveis de ambiente.";
    readonly deprecatedMysql: "Função mysql_* obsoleta detectada; migre para PDO ou MySQLi.";
    readonly shortOpenTag: "Short open tag (<?) detectada; prefira <?php para compatibilidade.";
    readonly errorSuppression: "Operador de supressão de erro (@) detectado; trate erros adequadamente.";
    readonly longFunction: "Função muito longa; considere refatorar.";
    readonly debugOutput: "var_dump/print_r/die detectado em código de produção; remova ou use logger.";
    readonly camelCaseFunction: "Função em camelCase; considere snake_case para convenção PHP.";
};
export declare const SeverityNiveis: {
    readonly error: "erro";
    readonly warning: "aviso";
    readonly info: "info";
    readonly suggestion: "sugestao";
};
export declare const AnalystTipos: {
    readonly react: "react/regra";
    readonly reactHooks: "react-hooks/regra";
    readonly tailwind: "tailwindcss/regra";
    readonly css: "css/regra";
    readonly html: "html/regra";
    readonly python: "python/regra";
    readonly xml: "xml/regra";
    readonly formatador: "formatador/regra";
    readonly svg: "svg/regra";
    readonly cssInJs: "css-in-js/regra";
    readonly go: "go/regra";
    readonly rust: "rust/regra";
    readonly php: "php/regra";
};
export declare const AnalystOrigens: {
    readonly react: "analista-react";
    readonly reactHooks: "analista-react-hooks";
    readonly tailwind: "analista-tailwind";
    readonly css: "analista-css";
    readonly html: "analista-html";
    readonly python: "analista-python";
    readonly xml: "analista-xml";
    readonly formatador: "analista-formatador";
    readonly svg: "analista-svg";
    readonly cssInJs: "analista-css-in-js";
    readonly go: "analista-go";
    readonly rust: "analista-rust";
    readonly php: "analista-php";
};
//# sourceMappingURL=plugin-messages.d.ts.map