export function exportarComplianceJson(relatorio) {
    return JSON.stringify(relatorio, null, 2);
}
export function exportarComplianceMarkdown(relatorio) {
    const secoes = [];
    secoes.push(`# Relatório de Compliance: ${relatorio.metadata.framework.toUpperCase()}\n`);
    secoes.push(`**Projeto**: ${relatorio.metadata.nomeProjeto}`);
    secoes.push(`**Framework**: ${relatorio.metadata.versaoFramework}`);
    secoes.push(`**Data**: ${new Date(relatorio.metadata.timestamp).toLocaleString('pt-BR')}`);
    const MS_POR_SEGUNDO = 1000;
    secoes.push(`**Duração**: ${(relatorio.metadata.duracaoAnalise / MS_POR_SEGUNDO).toFixed(1)}s\n`);
    secoes.push('## Resumo\n');
    secoes.push('| Métrica | Valor |');
    secoes.push('|---|---|');
    secoes.push(`| Pontuação Geral | ${relatorio.resumo.pontuacaoGeral}% |`);
    secoes.push(`| Total de Controles | ${relatorio.resumo.totalControles} |`);
    secoes.push(`| Conformes | ${relatorio.resumo.controlesConformes} |`);
    secoes.push(`| Parciais | ${relatorio.resumo.controlesParciais} |`);
    secoes.push(`| Não Conformes | ${relatorio.resumo.controlesNaoConformes} |`);
    secoes.push(`| Riscos Críticos | ${relatorio.resumo.riscosCriticos} |`);
    secoes.push(`| Riscos Altos | ${relatorio.resumo.riscosAltos} |`);
    secoes.push(`| Conformidade Geral | ${relatorio.resumo.conformidadeGeral} |\n`);
    secoes.push(`## Recomendações\n`);
    for (const rec of relatorio.recomendacoes) {
        secoes.push(`- ${rec}`);
    }
    secoes.push('');
    for (const secao of relatorio.secoes) {
        secoes.push(`## ${secao.nome}\n`);
        secoes.push(`**Pontuação**: ${secao.pontuacao}% (${secao.controlesConformes}/${secao.totalControles})\n`);
        secoes.push('| Controle | Status | Risco | Evidências |');
        secoes.push('|---|---|---|---|');
        for (const controle of secao.controles) {
            const status = controle.conformidade === 'conforme' ? '[OK]' : controle.conformidade === 'parcial' ? '[WARN]' : '[FAIL]';
            const risco = controle.risco === 'critico' ? '[FIRE]' : controle.risco === 'alto' ? '[RED]' : controle.risco === 'medio' ? '[YELLOW]' : '[GREEN]';
            const evidencias = controle.evidencias.length > 0 ? `${controle.evidencias.length}` : '0';
            secoes.push(`| **${controle.id}** ${controle.nome} | ${status} ${controle.conformidade} | ${risco} ${controle.risco} | ${evidencias} |`);
        }
        secoes.push('');
    }
    if (relatorio.riscosIdentificados.length > 0) {
        secoes.push('## Riscos Identificados\n');
        secoes.push('| ID | Descrição | Severidade | Ação Recomendada |');
        secoes.push('|---|---|---|---|');
        for (const risco of relatorio.riscosIdentificados) {
            secoes.push(`| ${risco.id} | ${risco.descricao} | ${risco.severidade} | ${risco.acaoRecomendada} |`);
        }
        secoes.push('');
    }
    secoes.push(`---\n*Relatório gerado por Tutanus em ${new Date().toLocaleString('pt-BR')}*`);
    return secoes.join('\n');
}
//# sourceMappingURL=compliance-exporter.js.map