/** * Serviço principal para emissão e consulta de NFS-e pelo prestador * Migrado de nfse-php/src/Service/ContribuinteService.php * * Fluxo: DPS → XML → XMLDSig → GZip+Base64 → API SEFIN Nacional */ import type { NfseContext } from '../types/context.js'; import type { DpsData, EmissaoNfseResponse, ConsultaNfseResponse, ConsultaDpsResponse, RegistroEventoResponse, PedRegEventoData } from '../types/dtos.js'; export declare class ContribuinteService { private context; private client; constructor(context: NfseContext); /** * Emite uma NFS-e a partir de um DPS. * Valida o DPS (schema XSD v1.01 + regras de negócio) antes de enviar. * Lança `DpsValidationError` se houver erros, evitando chamadas desnecessárias à API. */ emitir(dps: DpsData): Promise; consultar(chaveAcesso: string): Promise; consultarDps(idDps: string): Promise; verificarDps(idDps: string): Promise; /** * Cancela uma NFS-e via registro de evento. * * Antes de enviar o cancelamento, consulta a NFS-e pela chave de acesso para * verificar sua existência. Lança `NfseNaoEncontradaError` se não for localizada. */ cancelar(evento: PedRegEventoData): Promise; /** Lista todos os eventos de uma NFS-e. */ consultarEventos(chaveAcesso: string): Promise; /** Lista eventos de um tipo específico (ex: `TipoEventoCancelamento.ErroEmissao`). */ consultarEventosPorTipo(chaveAcesso: string, tipoEvento: number): Promise; /** Consulta um evento específico por tipo e número sequencial. */ consultarEvento(chaveAcesso: string, tipoEvento: number, numSeqEvento?: number): Promise; downloadDanfse(chaveAcesso: string): Promise; consultarConvenio(codMunicipio: string): Promise; consultarAliquota(codMunicipio: string, codServico: string): Promise; } /** * Erro lançado quando o DPS falha na validação antes do envio à API. * A propriedade `errors` contém todas as mensagens em português com o campo correspondente. */ export declare class DpsValidationError extends Error { readonly errors: string[]; constructor(errors: string[]); } /** * Erro lançado quando a NFS-e não é localizada na SEFIN antes do cancelamento. */ export declare class NfseNaoEncontradaError extends Error { readonly chaveAcesso: string; readonly cStat: string; readonly xMotivo: string; readonly name = "NfseNaoEncontradaError"; constructor(chaveAcesso: string, cStat: string, xMotivo: string); } /** * Erro lançado quando a NFS-e já possui um evento de cancelamento vinculado (E0840). * A nota não pode ser cancelada novamente. */ export declare class NfseJaCanceladaError extends Error { readonly chaveAcesso: string; readonly name = "NfseJaCanceladaError"; constructor(chaveAcesso: string); } //# sourceMappingURL=contribuinte-service.d.ts.map