@seidor-cloud-produtos/tax-core 0.0.106 → 0.0.108

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,18 +1,246 @@
1
1
  # Seidor Tax Core
2
2
 
3
- Nesta biblioteca deve conter ferramentas que auxiliem o desenvolvedor na tarefa de construir e gerar um layout de arquivo fiscal.
3
+ Biblioteca TypeScript completa para gestão de obrigações fiscais brasileiras, oferecendo estruturas de dados, regras de negócio, conversão de documentos e geração de relatórios fiscais (SPED, EFD, REINF e outros).
4
4
 
5
- * Um arquivo fiscal é baseado um layout específico (versão) e organizado em blocos.
6
- * Cada bloco é constituído de registros. Cada registros pode conter 0 ou N outros registros filhos
7
- * Cada registro é composto por um sequência exata de campos.
8
- * Cada campo tem suas características e formato (númerico, alfanumérico, valor monetário, data)
9
- * Cada característica pode ser um tipo que conterá as características + formato
5
+ ## Motivação
10
6
 
11
- Temos 2 momentos diferentes na geração de um arquivo.
7
+ Desde a recepção de documentos, a apuração de impostos e a geração das obrigações fiscais, costuma haver muitas similaridades de regras entre si. Muitas vezes, essas similaridades são implementadas de forma isolada em cada parte do sistema, o que gera retrabalho e inconsistências.
12
8
 
13
- * Construção da definição de como os dados deve ser organizados e gerados no arquivo
14
- * Inserção de dados propriamente dita
9
+ Esta biblioteca centraliza e padroniza:
10
+ - Modelos de documentos fiscais brasileiros (NF-e, NFC-e, NFSe, CT-e, CCe)
11
+ - Geração de arquivos SPED (Fiscal, Contribuições, ICMS/IPI)
12
+ - Validação e formatação de dados fiscais (CNPJ, CPF, códigos IBGE)
13
+ - Perfis de estabelecimentos e regimes tributários
14
+ - Conversão entre formatos de documentos
15
+ - Gerenciamento de dados mestres (municípios, estados, códigos de serviço)
16
+
17
+ ---
18
+
19
+ ## 📦 Módulos
20
+
21
+ ### 1. **taxReport** - Framework de Geração de Relatórios Fiscais
22
+ Geração de relatórios fiscais brasileiros (SPED Fiscal, SPED Contribuições, EFD-ICMS/IPI) com API type-safe.
23
+
24
+ **Características principais:**
25
+ - Classes base: `TaxReport`, `Block`, `Register`
26
+ - Decorators TypeScript para definição de campos (`@Key`, `@Numeric`, `@Decimal`, `@Alphanumeric`)
27
+ - Estratégias de duplicação configuráveis (Error, Ignore, Overwrite)
28
+ - Sistema de eventos para validação (`RegisterEventNotifier`)
29
+ - Otimizado para grandes volumes (1M+ registros)
30
+ - Múltiplas estratégias de output (Console, StringArray, File)
31
+
32
+ **Documentação completa:** [`lib/taxReport/README.md`](lib/taxReport/README.md)
33
+
34
+ ---
35
+
36
+ ### 2. **documents** - Modelo de Domínio de Documentos Fiscais
37
+ Definição completa de entidades para documentos fiscais e seus componentes.
38
+
39
+ **Classes principais:**
40
+ - `Document` - Documento fiscal com metadados, datas, valores e referências
41
+ - `Item` - Itens/linhas de documentos
42
+ - `Person` - Entidades (emitente, destinatário)
43
+ - `Address` - Informações de endereço
44
+ - `Tax` - Cálculos e rastreamento de impostos
45
+ - `ImportDeclaration` - Declarações de importação
46
+
47
+ **Builders fluentes:**
48
+ - `BuilderDocument`, `BuilderItem`, `BuilderPerson`, `BuilderAddress`, `BuilderTax`
49
+
50
+ **Enumerações:** 25+ enums para tipos de documentos, status, operações, pagamentos, origens de produtos, códigos de serviço e classificações fiscais brasileiras.
51
+
52
+ **Persistência:** Suporte a MongoDB via `infra/db/mongo/` com repositórios e builders.
53
+
54
+ ---
55
+
56
+ ### 3. **conversionDocuments** - Conversão de Formatos de Documentos
57
+ Conversão entre diferentes formatos de documentos fiscais brasileiros.
58
+
59
+ **Formatos suportados:**
60
+ - **NF-e** - Nota Fiscal Eletrônica
61
+ - **NFC-e** - Nota Fiscal ao Consumidor Eletrônica
62
+ - **NFSe** - Nota Fiscal de Serviços Eletrônica
63
+ - **CCe** - Carta de Correção Eletrônica
64
+ - **CT-e** - Conhecimento de Transporte Eletrônico
65
+ - **Communication** - Documentos de comunicação genéricos
66
+ - **Payment** - Documentos de pagamento
67
+ - **Receipt** - Documentos de recibo
68
+
69
+ Cada tipo possui interfaces de request/input para componentes (Address, Person, Item, Tax) e utilitários de conversão.
70
+
71
+ ---
72
+
73
+ ### 4. **documentRollback** - Reversão de Estado de Documentos
74
+ Gerenciamento de rollback e reversão de estados de documentos fiscais.
75
+
76
+ **Funcionalidades:**
77
+ - Reversão de alterações em documentos
78
+ - Recriação de estados anteriores
79
+ - Capacidade de auditoria
80
+ - Suporte para todos os tipos de documentos (CCe, CT-e, NF-e, NFSe, etc.)
81
+
82
+ ---
83
+
84
+ ### 5. **profiles** - Gestão de Perfis de Estabelecimentos
85
+ Gerenciamento de perfis fiscais e configurações de regimes tributários especializados.
86
+
87
+ **Classes principais:**
88
+ - `Profile` - Perfil fiscal com validade e configurações
89
+ - `Establishment` - Filiais/estabelecimentos com identificação fiscal e endereço
90
+
91
+ **Perfis especializados por regime tributário:**
92
+ - `EcdSpecializedProfile` - Escrituração Contábil Digital (ECD)
93
+ - `EcfSpecializedProfile` - Escrituração Contábil Fiscal (ECF)
94
+ - `EfdContribSpecializedProfile` - SPED Contribuições (PIS/COFINS)
95
+ - `EfdIcmsIpiSpecializedProfile` - SPED ICMS/IPI
96
+ - `ReinfSpecializedProfile` - REINF (Retenções e Informações Fiscais)
97
+
98
+ **Infraestrutura:** `ProfileRestRepository` para integração via REST API.
99
+
100
+ ---
101
+
102
+ ### 6. **valueObjects** - Objetos de Valor do Domínio
103
+ Objetos de valor reutilizáveis e imutáveis para conceitos fiscais brasileiros.
104
+
105
+ **Classes:**
106
+ - `CPF` - Validação e formatação de CPF (pessoa física)
107
+ - `CNPJ` - Validação e formatação de CNPJ (pessoa jurídica)
108
+ - `Email` - Validação de e-mail
109
+ - `OurDate` - Manipulação de datas com formatos brasileiros
110
+ - Suporte a múltiplos formatos (`LayoutDateFormat`)
111
+ - Parsing e formatação
112
+
113
+ ---
114
+
115
+ ### 7. **errors** - Gestão de Erros e Mensagens
116
+ Tratamento centralizado de erros com templates de mensagens localizadas.
117
+
118
+ **Exports:**
119
+ - `MessageCode` & `MessageCodeType` - Enumeração de códigos de erro
120
+ - `Messages` - Templates de mensagens localizadas
121
+ - `formatMessage` & `logWithContext` - Utilitários de formatação e logging
122
+
123
+ **Características:**
124
+ - Sistema de dicionário organizado
125
+ - Mensagens baseadas em templates
126
+ - Type-safe na formatação de mensagens
127
+ - Suporte a múltiplos idiomas
128
+
129
+ ---
130
+
131
+ ### 8. **masterData** - Gestão de Dados de Referência
132
+ Gerenciamento de dados de referência brasileiros.
133
+
134
+ **Classes:**
135
+ - `State` - Informações de estados brasileiros
136
+ - `Municipality` - Dados de municípios com códigos IBGE
137
+ - `MunicipalObligation` - Metadados de obrigações municipais
138
+ - `ServiceCode` - Códigos de classificação de serviços
139
+
140
+ **Infraestrutura:** `MemoryMasterDataRepository` para cache em memória.
141
+
142
+ ---
143
+
144
+ ## 🏗️ Arquitetura
145
+
146
+ A biblioteca é organizada em **arquitetura em camadas**:
147
+
148
+ 1. **Camada de Domínio** (`documents`, `profiles`, `masterData`)
149
+ - Entidades de negócio e objetos de valor
150
+ - Enumerações e tipos
151
+
152
+ 2. **Camada de Aplicação** (`conversionDocuments`, `documentRollback`)
153
+ - Casos de uso e transformações
154
+ - Conversões de formatos de documentos
155
+
156
+ 3. **Camada de Framework** (`taxReport`)
157
+ - Framework genérico para relatórios fiscais
158
+ - Arquitetura extensível para diferentes tipos de relatórios
159
+
160
+ 4. **Camada de Infraestrutura** (diretórios `infra` dentro dos módulos)
161
+ - Persistência em banco de dados (MongoDB)
162
+ - Integrações REST
163
+ - Implementações em memória
164
+
165
+ 5. **Preocupações Transversais**
166
+ - Gestão de erros (`errors`)
167
+ - Objetos de valor (`valueObjects`)
168
+ - Dados de referência (`masterData`)
169
+
170
+ ---
171
+
172
+ ## 🚀 Começando
173
+
174
+ ### Instalação
175
+
176
+ ```bash
177
+ npm install @seidor/br-fiscal
178
+ ```
179
+
180
+ ### Uso Básico
181
+
182
+ #### Criando um Documento Fiscal
183
+
184
+ ```typescript
185
+ import { BuilderDocument, DocumentType, DocumentStatus } from '@seidor/br-fiscal';
186
+
187
+ const document = new BuilderDocument()
188
+ .setId('doc-123')
189
+ .setDocumentType(DocumentType.NFE)
190
+ .setStatus(DocumentStatus.AUTHORIZED)
191
+ .setAmount(1000.00)
192
+ .build();
193
+ ```
194
+
195
+ #### Validando CNPJ/CPF
196
+
197
+ ```typescript
198
+ import { CNPJ, CPF } from '@seidor/br-fiscal';
199
+
200
+ const cnpj = new CNPJ('12.345.678/0001-90');
201
+ if (cnpj.isValid()) {
202
+ console.log('CNPJ válido:', cnpj.format());
203
+ }
204
+
205
+ const cpf = new CPF('123.456.789-00');
206
+ if (cpf.isValid()) {
207
+ console.log('CPF válido:', cpf.format());
208
+ }
209
+ ```
210
+
211
+ #### Gerando Relatório SPED
212
+
213
+ ```typescript
214
+ import { TaxReport, Block, Register } from '@seidor/br-fiscal';
215
+
216
+ // Consulte a documentação completa em lib/taxReport/README.md
217
+ ```
218
+
219
+ ---
220
+
221
+ ## 📚 Documentação Adicional
222
+
223
+ - **Tax Report Framework:** [`lib/taxReport/README.md`](lib/taxReport/README.md)
224
+ - [Arquitetura](lib/taxReport/ARCHITECTURE.md)
225
+ - [Guia Rápido](lib/taxReport/QUICKSTART.md)
226
+ - [Exemplos](lib/taxReport/EXAMPLES.md)
227
+ - [FAQ](lib/taxReport/FAQ.md)
228
+
229
+ ---
230
+
231
+ ## 🔑 Características Principais
232
+
233
+ - **Type-Safe:** Uso extensivo de TypeScript, decorators e enums
234
+ - **Orientado a Padrões:** Builder pattern, Repository pattern, Observer pattern
235
+ - **Extensível:** Classes abstratas e interfaces em toda a biblioteca
236
+ - **Otimizado para Performance:** Preparado para processar grandes volumes de registros fiscais
237
+ - **Específico para o Brasil:** Suporte completo aos requisitos fiscais brasileiros
238
+ - **Bem Documentado:** README, exemplos e documentação de arquitetura extensivos
239
+
240
+ ---
241
+
242
+ ## 📄 Licença
243
+
244
+ Consulte o arquivo LICENSE para mais informações.
15
245
 
16
- ## Como foi construída a solução
17
246
 
18
- ![Macro view diagram](.github/macro-view.png)
package/dist/index.d.mts CHANGED
@@ -3590,9 +3590,12 @@ declare const MessageCode: {
3590
3590
  };
3591
3591
  INTERNAL: {
3592
3592
  INTERNAL_SERVER_ERROR: string;
3593
+ UNEXPECTED_ERROR: string;
3593
3594
  };
3594
3595
  SETTING: {
3595
- EFD_CONTRIB_PROFILE_NOT_SET_UP: string;
3596
+ PROFILE_NOT_SET_UP: string;
3597
+ REINF_NOT_ENABLED: string;
3598
+ R2060_CONFIG_CONFLICT: string;
3596
3599
  };
3597
3600
  };
3598
3601
  type AuthCodeType = (typeof MessageCode.AUTH)[keyof typeof MessageCode.AUTH];
@@ -3659,15 +3662,23 @@ declare function logWithContext<T extends MessageCodeType>(messageCode: T, param
3659
3662
  actionSuggestion: string;
3660
3663
  };
3661
3664
 
3665
+ declare enum MunicipalObligationTypeEnum {
3666
+ NORMAL = "Normal (Original)",// Representa a entrega inicial da obrigação fiscal
3667
+ CORRECTIVE = "Retificadora (Substitutiva)",// Corrige informações de uma obrigação já entregue anteriormente. Substitui integralmente a versão anterior.
3668
+ COMPLEMENTARY = "Complementar",// Utilizadas para acrescentar informações (ex.: notas fiscais) que não estavam incluídas na entrega original.
3669
+ CANCELLATION = "Cancelamento",// Indicadas quando é necessário invalidar totalmente uma obrigação ou registro anterior.
3670
+ ADJUSTMENT = "Ajuste"
3671
+ }
3672
+
3662
3673
  declare class MunicipalObligation {
3663
3674
  protected _name: string;
3664
3675
  protected _versions: Set<string>;
3665
- protected _types: Set<string>;
3666
- constructor(name: string, versions: string[], types: string[]);
3676
+ protected _types: Set<MunicipalObligationTypeEnum>;
3677
+ constructor(name: string, versions: string[], types: MunicipalObligationTypeEnum[]);
3667
3678
  get name(): string;
3668
3679
  addVersion(version: string): void;
3669
3680
  get versions(): string[];
3670
- addType(type: string): void;
3681
+ addType(type: MunicipalObligationTypeEnum): void;
3671
3682
  get types(): string[];
3672
3683
  isVersionAvailable(version: string): boolean;
3673
3684
  }
@@ -3697,7 +3708,7 @@ declare class Municipality {
3697
3708
  getMunicipalObligationByName(obligationName: string): MunicipalObligation;
3698
3709
  }
3699
3710
 
3700
- declare enum UF {
3711
+ declare enum StateEnum {
3701
3712
  Acre = "AC",
3702
3713
  Alagoas = "AL",
3703
3714
  Amapa = "AP",
@@ -3728,12 +3739,12 @@ declare enum UF {
3728
3739
  }
3729
3740
 
3730
3741
  declare class State {
3731
- protected _uf: UF;
3742
+ protected _uf: StateEnum;
3732
3743
  protected _code: number;
3733
3744
  protected _name: string;
3734
3745
  protected _municipalities: Map<number, Municipality>;
3735
- constructor(uf: UF, code: number, name: string);
3736
- get uf(): UF;
3746
+ constructor(uf: StateEnum, code: number, name: string);
3747
+ get uf(): StateEnum;
3737
3748
  get code(): number;
3738
3749
  get name(): string;
3739
3750
  addMunicipality(municipality: Municipality): void;
@@ -3776,4 +3787,4 @@ declare class MemoryMasterDataRepository implements Repository {
3776
3787
  getStateByUF(uf: string): State | undefined;
3777
3788
  }
3778
3789
 
3779
- export { Addition, Address, Alphanumeric, type AuthTokenExpiredParams, type AuthUnauthorizedParams, Block, BuilderAddition, BuilderAddress, BuilderDocument, BuilderImportDeclaration, BuilderItem, BuilderPerson, BuilderTax, CNPJ, CPF, CalculationBasisNatureSetting, CodeStatusEnum, ConsoleOutput, CountryCodeEnum, CteTypeEnum, DEFAULT_LOCALE, type DatabaseConnectionFailedParams, type DatabaseQueryErrorParams, Decimal, DefaultAlphanumericLength, DescriptionStatusEnum, DifalIcmsCategoryEnum, Document, DocumentTypeEnum, EcdSpecializedProfile, EcfSpecializedProfile, EfdContribSpecializedProfile, EfdIcmsIpiSpecializedProfile, Email, EnforceabilityOfISSEnum, Establishment, EstablishmentEvent, EventEnum, FieldDataType, type FieldFormat, type FiltersDocument, FreightContractedNatureIndicatorEnum, FreightTypeEnum, ReportGenerator$1 as Generation, GrossRevenueContributionHeaders, type IDocumentMongo, IcmsIpiAdjustmentVerification, type IdentificationNumber, ImportDeclaration, IntermediationTypeEnum, type InternalServerErrorParams, InternationalTransportTypeEnum, IssuerIndicatorEnum, Item, ItemTypeEnum, Key, type KeyComposition, type KeyFieldDefinition, LayoutDateFormat, type Locale, MaximumNumericLength, MemoryMasterDataRepository, MemoryPersist, MessageCategory, MessageCode, type MessageCodeType, Messages, ModelConverter, ModelRollback, MongoConfig, MongoRepository, MongoToDocumentBuilder, MunicipalObligation, Municipality, NatureConfig, Numeric, OnDuplication, OnDuplicationStrategy, OperationTypeEnum, OurDate, type OutputWriter, type ParameterTypes, PaymentTypeEnum, Person, ProductOriginEnum, Profile, ProfileRestRepository, Register, type RegisterEventData, type RegisterEventNotifier, type RegisterGenerator, type RegisterPersist, type RegisterSubscriber, ReinfSpecializedProfile, RevenueNatureSettings, RevenueTypeEnum, Scp, ServiceCode, ServiceCodeEnum, type SettingErrorParams, Signatory, SimpleReportGenerator, State, StateRegistrationIndicatorEnum, StatusDocumentEnum, StringArrayOutput, Tax, TaxRegimeEnum, type TaxRegisterGenerationOptions, TaxRegisterGenerator, TaxReport, TaxTypeEnum$1 as TaxTypeEnum, UF, type ValidationInvalidInputParams, type ValidationMissingFieldParams, ValueProviderType, buildMongoFilter, formatMessage, logWithContext };
3790
+ export { Addition, Address, Alphanumeric, type AuthTokenExpiredParams, type AuthUnauthorizedParams, Block, BuilderAddition, BuilderAddress, BuilderDocument, BuilderImportDeclaration, BuilderItem, BuilderPerson, BuilderTax, CNPJ, CPF, CalculationBasisNatureSetting, CodeStatusEnum, ConsoleOutput, CountryCodeEnum, CteTypeEnum, DEFAULT_LOCALE, type DatabaseConnectionFailedParams, type DatabaseQueryErrorParams, Decimal, DefaultAlphanumericLength, DescriptionStatusEnum, DifalIcmsCategoryEnum, Document, DocumentTypeEnum, EcdSpecializedProfile, EcfSpecializedProfile, EfdContribSpecializedProfile, EfdIcmsIpiSpecializedProfile, Email, EnforceabilityOfISSEnum, Establishment, EstablishmentEvent, EventEnum, FieldDataType, type FieldFormat, type FiltersDocument, FreightContractedNatureIndicatorEnum, FreightTypeEnum, ReportGenerator$1 as Generation, GrossRevenueContributionHeaders, type IDocumentMongo, IcmsIpiAdjustmentVerification, type IdentificationNumber, ImportDeclaration, IntermediationTypeEnum, type InternalServerErrorParams, InternationalTransportTypeEnum, IssuerIndicatorEnum, Item, ItemTypeEnum, Key, type KeyComposition, type KeyFieldDefinition, LayoutDateFormat, type Locale, MaximumNumericLength, MemoryMasterDataRepository, MemoryPersist, MessageCategory, MessageCode, type MessageCodeType, Messages, ModelConverter, ModelRollback, MongoConfig, MongoRepository, MongoToDocumentBuilder, MunicipalObligation, MunicipalObligationTypeEnum, Municipality, NatureConfig, Numeric, OnDuplication, OnDuplicationStrategy, OperationTypeEnum, OurDate, type OutputWriter, type ParameterTypes, PaymentTypeEnum, Person, ProductOriginEnum, Profile, ProfileRestRepository, Register, type RegisterEventData, type RegisterEventNotifier, type RegisterGenerator, type RegisterPersist, type RegisterSubscriber, ReinfSpecializedProfile, RevenueNatureSettings, RevenueTypeEnum, Scp, ServiceCode, ServiceCodeEnum, type SettingErrorParams, Signatory, SimpleReportGenerator, State, StateEnum, StateRegistrationIndicatorEnum, StatusDocumentEnum, StringArrayOutput, Tax, TaxRegimeEnum, type TaxRegisterGenerationOptions, TaxRegisterGenerator, TaxReport, TaxTypeEnum$1 as TaxTypeEnum, type ValidationInvalidInputParams, type ValidationMissingFieldParams, ValueProviderType, buildMongoFilter, formatMessage, logWithContext };
package/dist/index.d.ts CHANGED
@@ -3590,9 +3590,12 @@ declare const MessageCode: {
3590
3590
  };
3591
3591
  INTERNAL: {
3592
3592
  INTERNAL_SERVER_ERROR: string;
3593
+ UNEXPECTED_ERROR: string;
3593
3594
  };
3594
3595
  SETTING: {
3595
- EFD_CONTRIB_PROFILE_NOT_SET_UP: string;
3596
+ PROFILE_NOT_SET_UP: string;
3597
+ REINF_NOT_ENABLED: string;
3598
+ R2060_CONFIG_CONFLICT: string;
3596
3599
  };
3597
3600
  };
3598
3601
  type AuthCodeType = (typeof MessageCode.AUTH)[keyof typeof MessageCode.AUTH];
@@ -3659,15 +3662,23 @@ declare function logWithContext<T extends MessageCodeType>(messageCode: T, param
3659
3662
  actionSuggestion: string;
3660
3663
  };
3661
3664
 
3665
+ declare enum MunicipalObligationTypeEnum {
3666
+ NORMAL = "Normal (Original)",// Representa a entrega inicial da obrigação fiscal
3667
+ CORRECTIVE = "Retificadora (Substitutiva)",// Corrige informações de uma obrigação já entregue anteriormente. Substitui integralmente a versão anterior.
3668
+ COMPLEMENTARY = "Complementar",// Utilizadas para acrescentar informações (ex.: notas fiscais) que não estavam incluídas na entrega original.
3669
+ CANCELLATION = "Cancelamento",// Indicadas quando é necessário invalidar totalmente uma obrigação ou registro anterior.
3670
+ ADJUSTMENT = "Ajuste"
3671
+ }
3672
+
3662
3673
  declare class MunicipalObligation {
3663
3674
  protected _name: string;
3664
3675
  protected _versions: Set<string>;
3665
- protected _types: Set<string>;
3666
- constructor(name: string, versions: string[], types: string[]);
3676
+ protected _types: Set<MunicipalObligationTypeEnum>;
3677
+ constructor(name: string, versions: string[], types: MunicipalObligationTypeEnum[]);
3667
3678
  get name(): string;
3668
3679
  addVersion(version: string): void;
3669
3680
  get versions(): string[];
3670
- addType(type: string): void;
3681
+ addType(type: MunicipalObligationTypeEnum): void;
3671
3682
  get types(): string[];
3672
3683
  isVersionAvailable(version: string): boolean;
3673
3684
  }
@@ -3697,7 +3708,7 @@ declare class Municipality {
3697
3708
  getMunicipalObligationByName(obligationName: string): MunicipalObligation;
3698
3709
  }
3699
3710
 
3700
- declare enum UF {
3711
+ declare enum StateEnum {
3701
3712
  Acre = "AC",
3702
3713
  Alagoas = "AL",
3703
3714
  Amapa = "AP",
@@ -3728,12 +3739,12 @@ declare enum UF {
3728
3739
  }
3729
3740
 
3730
3741
  declare class State {
3731
- protected _uf: UF;
3742
+ protected _uf: StateEnum;
3732
3743
  protected _code: number;
3733
3744
  protected _name: string;
3734
3745
  protected _municipalities: Map<number, Municipality>;
3735
- constructor(uf: UF, code: number, name: string);
3736
- get uf(): UF;
3746
+ constructor(uf: StateEnum, code: number, name: string);
3747
+ get uf(): StateEnum;
3737
3748
  get code(): number;
3738
3749
  get name(): string;
3739
3750
  addMunicipality(municipality: Municipality): void;
@@ -3776,4 +3787,4 @@ declare class MemoryMasterDataRepository implements Repository {
3776
3787
  getStateByUF(uf: string): State | undefined;
3777
3788
  }
3778
3789
 
3779
- export { Addition, Address, Alphanumeric, type AuthTokenExpiredParams, type AuthUnauthorizedParams, Block, BuilderAddition, BuilderAddress, BuilderDocument, BuilderImportDeclaration, BuilderItem, BuilderPerson, BuilderTax, CNPJ, CPF, CalculationBasisNatureSetting, CodeStatusEnum, ConsoleOutput, CountryCodeEnum, CteTypeEnum, DEFAULT_LOCALE, type DatabaseConnectionFailedParams, type DatabaseQueryErrorParams, Decimal, DefaultAlphanumericLength, DescriptionStatusEnum, DifalIcmsCategoryEnum, Document, DocumentTypeEnum, EcdSpecializedProfile, EcfSpecializedProfile, EfdContribSpecializedProfile, EfdIcmsIpiSpecializedProfile, Email, EnforceabilityOfISSEnum, Establishment, EstablishmentEvent, EventEnum, FieldDataType, type FieldFormat, type FiltersDocument, FreightContractedNatureIndicatorEnum, FreightTypeEnum, ReportGenerator$1 as Generation, GrossRevenueContributionHeaders, type IDocumentMongo, IcmsIpiAdjustmentVerification, type IdentificationNumber, ImportDeclaration, IntermediationTypeEnum, type InternalServerErrorParams, InternationalTransportTypeEnum, IssuerIndicatorEnum, Item, ItemTypeEnum, Key, type KeyComposition, type KeyFieldDefinition, LayoutDateFormat, type Locale, MaximumNumericLength, MemoryMasterDataRepository, MemoryPersist, MessageCategory, MessageCode, type MessageCodeType, Messages, ModelConverter, ModelRollback, MongoConfig, MongoRepository, MongoToDocumentBuilder, MunicipalObligation, Municipality, NatureConfig, Numeric, OnDuplication, OnDuplicationStrategy, OperationTypeEnum, OurDate, type OutputWriter, type ParameterTypes, PaymentTypeEnum, Person, ProductOriginEnum, Profile, ProfileRestRepository, Register, type RegisterEventData, type RegisterEventNotifier, type RegisterGenerator, type RegisterPersist, type RegisterSubscriber, ReinfSpecializedProfile, RevenueNatureSettings, RevenueTypeEnum, Scp, ServiceCode, ServiceCodeEnum, type SettingErrorParams, Signatory, SimpleReportGenerator, State, StateRegistrationIndicatorEnum, StatusDocumentEnum, StringArrayOutput, Tax, TaxRegimeEnum, type TaxRegisterGenerationOptions, TaxRegisterGenerator, TaxReport, TaxTypeEnum$1 as TaxTypeEnum, UF, type ValidationInvalidInputParams, type ValidationMissingFieldParams, ValueProviderType, buildMongoFilter, formatMessage, logWithContext };
3790
+ export { Addition, Address, Alphanumeric, type AuthTokenExpiredParams, type AuthUnauthorizedParams, Block, BuilderAddition, BuilderAddress, BuilderDocument, BuilderImportDeclaration, BuilderItem, BuilderPerson, BuilderTax, CNPJ, CPF, CalculationBasisNatureSetting, CodeStatusEnum, ConsoleOutput, CountryCodeEnum, CteTypeEnum, DEFAULT_LOCALE, type DatabaseConnectionFailedParams, type DatabaseQueryErrorParams, Decimal, DefaultAlphanumericLength, DescriptionStatusEnum, DifalIcmsCategoryEnum, Document, DocumentTypeEnum, EcdSpecializedProfile, EcfSpecializedProfile, EfdContribSpecializedProfile, EfdIcmsIpiSpecializedProfile, Email, EnforceabilityOfISSEnum, Establishment, EstablishmentEvent, EventEnum, FieldDataType, type FieldFormat, type FiltersDocument, FreightContractedNatureIndicatorEnum, FreightTypeEnum, ReportGenerator$1 as Generation, GrossRevenueContributionHeaders, type IDocumentMongo, IcmsIpiAdjustmentVerification, type IdentificationNumber, ImportDeclaration, IntermediationTypeEnum, type InternalServerErrorParams, InternationalTransportTypeEnum, IssuerIndicatorEnum, Item, ItemTypeEnum, Key, type KeyComposition, type KeyFieldDefinition, LayoutDateFormat, type Locale, MaximumNumericLength, MemoryMasterDataRepository, MemoryPersist, MessageCategory, MessageCode, type MessageCodeType, Messages, ModelConverter, ModelRollback, MongoConfig, MongoRepository, MongoToDocumentBuilder, MunicipalObligation, MunicipalObligationTypeEnum, Municipality, NatureConfig, Numeric, OnDuplication, OnDuplicationStrategy, OperationTypeEnum, OurDate, type OutputWriter, type ParameterTypes, PaymentTypeEnum, Person, ProductOriginEnum, Profile, ProfileRestRepository, Register, type RegisterEventData, type RegisterEventNotifier, type RegisterGenerator, type RegisterPersist, type RegisterSubscriber, ReinfSpecializedProfile, RevenueNatureSettings, RevenueTypeEnum, Scp, ServiceCode, ServiceCodeEnum, type SettingErrorParams, Signatory, SimpleReportGenerator, State, StateEnum, StateRegistrationIndicatorEnum, StatusDocumentEnum, StringArrayOutput, Tax, TaxRegimeEnum, type TaxRegisterGenerationOptions, TaxRegisterGenerator, TaxReport, TaxTypeEnum$1 as TaxTypeEnum, type ValidationInvalidInputParams, type ValidationMissingFieldParams, ValueProviderType, buildMongoFilter, formatMessage, logWithContext };