/** * Cliente HTTP para a API SEFIN Nacional com mTLS * Migrado de nfse-php/src/Http/Client/SefinClient.php * * Bun: fetch() com opção não padrão `tls` (certificado de cliente). * Node: Undici não suporta `tls` no RequestInit — usa `https.request`. */ import type { NfseContext } from '../types/context.js'; import type { EmissaoNfseResponse, ConsultaNfseResponse, ConsultaDpsResponse, RegistroEventoResponse } from '../types/dtos.js'; export declare class SefinClient { private context; private baseUrl; private tlsKey; private tlsCert; private readonly bunMtls; constructor(context: NfseContext); /** * Requisição HTTPS com certificado de cliente (mTLS). * Bun e Node divergem na API suportada pelo fetch global. */ private mtlsFetch; emitirNfse(dpsXmlGZipB64: string): Promise; consultarNfse(chaveAcesso: string): Promise; consultarDps(idDps: string): Promise; /** HEAD /dps/{id} — verifica existência sem retornar chave de acesso. */ verificarDps(idDps: string): Promise; registrarEvento(chaveAcesso: string, eventoXmlGZipB64: string): Promise; downloadDanfse(chaveAcesso: string): Promise; /** GET /nfse/{chaveAcesso}/eventos */ listarEventos(chaveAcesso: string): Promise; /** GET /nfse/{chaveAcesso}/eventos/{tipoEvento} */ listarEventosPorTipo(chaveAcesso: string, tipoEvento: number): Promise; /** GET /nfse/{chaveAcesso}/eventos/{tipoEvento}/{numSeqEvento} */ consultarEvento(chaveAcesso: string, tipoEvento: number, numSeqEvento: number): Promise; /** GET /parametros_municipais/{codigoMunicipio}/convenio */ consultarParametrosConvenio(codMunicipio: string): Promise; /** GET /parametros_municipais/{codigoMunicipio}/{codigoServico} */ consultarAliquota(codMunicipio: string, codServico: string): Promise; private post; private get; private handleResponse; private parseEmissaoResponse; private parseConsultaResponse; } export declare class NfseApiError extends Error { readonly statusCode: number; readonly body: string; constructor(message: string, statusCode: number, body: string); } //# sourceMappingURL=sefin-client.d.ts.map