/** * Serviço principal de geração da DANF-Se * Migrado de direction-nfse-danfe/src/Danfe/Public/DanfeService.cs */ import { type NfseSchema } from '../xml/nfse-parser.js'; import { type DanfeOptions, type DanfeWarning } from './html-renderer.js'; import { type PdfOptions } from './pdf-generator.js'; import { DanfeEnvironment, DanfePreviewFormat } from '../types/enums.js'; import type { InfDpsData } from '../types/dtos.js'; export interface DanfeResult { environment: DanfeEnvironment; html: string; pdfBytes: Buffer; warnings: DanfeWarning[]; } export interface DanfeGenerateOptions { danfe?: DanfeOptions; pdf?: PdfOptions; isCancelled?: boolean; /** * Chave de acesso da NFS-e retornada pela API SEFIN (`chaveAcesso` no JSON). * Usada quando o XML da NFS-e não contém o elemento `` — o que ocorre * em algumas versões do EmissorWeb onde a chave é enviada apenas na raiz JSON. */ chaveAcesso?: string; } export { DanfePreviewFormat } from '../types/enums.js'; export interface PreviewOptions { /** Formato de saída. Padrão: `DanfePreviewFormat.Html`. */ format?: DanfePreviewFormat; danfe?: Omit; pdf?: PdfOptions; } export interface PreviewResult { format: DanfePreviewFormat; html: string; /** Disponível apenas quando `format === DanfePreviewFormat.Pdf`. */ pdfBytes?: Buffer; warnings: DanfeWarning[]; environment: DanfeEnvironment; } export declare class DanfeService { private options; constructor(options?: DanfeOptions); generateFromXml(xml: string, opts?: DanfeGenerateOptions): Promise; generateFromGzipB64(gzipB64: string, opts?: DanfeGenerateOptions): Promise; generate(schema: NfseSchema, opts?: DanfeGenerateOptions): Promise; saveToFile(xmlOrGzipB64: string, outputPath: string, isGzip?: boolean, opts?: DanfeGenerateOptions): Promise; /** * Gera um preview da DANF-Se a partir dos dados do DPS, **antes** de enviar * à API SEFIN. O documento gerado possui uma marca d'água "PRÉVIA — SEM VALOR * FISCAL" e não representa uma NFS-e válida. * * @param dps - Dados do DPS (o mesmo objeto passado para `emitirNfse`). * @param opts - Opções de saída (`format`: `'html'` ou `'pdf'`). */ previewFromDps(dps: InfDpsData, opts?: PreviewOptions): Promise; } //# sourceMappingURL=danfe-service.d.ts.map