@f-o-t/brasil-api 0.1.0

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.
@@ -0,0 +1,1442 @@
1
+ /**
2
+ * Configuration for Brasil API client
3
+ */
4
+ interface BrasilApiConfig {
5
+ baseUrl: string;
6
+ timeout: number;
7
+ }
8
+ /**
9
+ * Get current configuration
10
+ */
11
+ declare function getConfig(): BrasilApiConfig;
12
+ /**
13
+ * Configure Brasil API client
14
+ * @param config Partial configuration to merge with defaults
15
+ */
16
+ declare function configureBrasilApi(config: Partial<BrasilApiConfig>): void;
17
+ /**
18
+ * Set custom configuration (alias for configureBrasilApi)
19
+ * @param config Partial configuration to merge with defaults
20
+ */
21
+ declare function setConfig(config: Partial<BrasilApiConfig>): void;
22
+ /**
23
+ * Reset configuration to defaults
24
+ */
25
+ declare function resetConfig(): void;
26
+ import { ZodError } from "zod";
27
+ /**
28
+ * Base error class for Brasil API errors
29
+ */
30
+ declare class BrasilApiError extends Error {
31
+ constructor(message: string);
32
+ }
33
+ /**
34
+ * Network-related errors (fetch failures, timeouts, HTTP errors)
35
+ */
36
+ declare class BrasilApiNetworkError extends BrasilApiError {
37
+ readonly statusCode?: number;
38
+ readonly endpoint: string;
39
+ constructor(message: string, statusCode: number | undefined, endpoint: string);
40
+ }
41
+ /**
42
+ * Validation errors (input or response validation failures)
43
+ */
44
+ declare class BrasilApiValidationError extends BrasilApiError {
45
+ readonly zodError: ZodError;
46
+ readonly validationType: "input" | "response";
47
+ constructor(message: string, zodError: ZodError, validationType: "input" | "response");
48
+ }
49
+ /**
50
+ * Response validation errors (invalid API response)
51
+ */
52
+ declare class BrasilApiResponseError extends BrasilApiValidationError {
53
+ constructor(message: string, zodError: ZodError);
54
+ }
55
+ import { z } from "zod";
56
+ /**
57
+ * CEP response schema (v1)
58
+ */
59
+ declare const CepResponseSchema: z.ZodObject<{
60
+ cep: z.ZodString;
61
+ state: z.ZodString;
62
+ city: z.ZodString;
63
+ neighborhood: z.ZodString;
64
+ street: z.ZodString;
65
+ service: z.ZodString;
66
+ }, "strip", z.ZodTypeAny, {
67
+ cep?: string;
68
+ state?: string;
69
+ city?: string;
70
+ neighborhood?: string;
71
+ street?: string;
72
+ service?: string;
73
+ }, {
74
+ cep?: string;
75
+ state?: string;
76
+ city?: string;
77
+ neighborhood?: string;
78
+ street?: string;
79
+ service?: string;
80
+ }>;
81
+ /**
82
+ * CEP response type (v1)
83
+ */
84
+ type CepResponse = z.infer<typeof CepResponseSchema>;
85
+ /**
86
+ * CEP response schema (v2 with coordinates)
87
+ */
88
+ declare const CepV2ResponseSchema: z.ZodObject<{
89
+ cep: z.ZodString;
90
+ state: z.ZodString;
91
+ city: z.ZodString;
92
+ neighborhood: z.ZodString;
93
+ street: z.ZodString;
94
+ service: z.ZodString;
95
+ } & {
96
+ location: z.ZodObject<{
97
+ type: z.ZodLiteral<"Point">;
98
+ coordinates: z.ZodObject<{
99
+ longitude: z.ZodString;
100
+ latitude: z.ZodString;
101
+ }, "strip", z.ZodTypeAny, {
102
+ longitude?: string;
103
+ latitude?: string;
104
+ }, {
105
+ longitude?: string;
106
+ latitude?: string;
107
+ }>;
108
+ }, "strip", z.ZodTypeAny, {
109
+ type?: "Point";
110
+ coordinates?: {
111
+ longitude?: string;
112
+ latitude?: string;
113
+ };
114
+ }, {
115
+ type?: "Point";
116
+ coordinates?: {
117
+ longitude?: string;
118
+ latitude?: string;
119
+ };
120
+ }>;
121
+ }, "strip", z.ZodTypeAny, {
122
+ cep?: string;
123
+ state?: string;
124
+ city?: string;
125
+ neighborhood?: string;
126
+ street?: string;
127
+ service?: string;
128
+ location?: {
129
+ type?: "Point";
130
+ coordinates?: {
131
+ longitude?: string;
132
+ latitude?: string;
133
+ };
134
+ };
135
+ }, {
136
+ cep?: string;
137
+ state?: string;
138
+ city?: string;
139
+ neighborhood?: string;
140
+ street?: string;
141
+ service?: string;
142
+ location?: {
143
+ type?: "Point";
144
+ coordinates?: {
145
+ longitude?: string;
146
+ latitude?: string;
147
+ };
148
+ };
149
+ }>;
150
+ /**
151
+ * CEP response type (v2)
152
+ */
153
+ type CepV2Response = z.infer<typeof CepV2ResponseSchema>;
154
+ /**
155
+ * Get address information by CEP (postal code)
156
+ * @param cep CEP in format 12345-678 or 12345678
157
+ * @returns Address data
158
+ * @throws {BrasilApiValidationError} On invalid input
159
+ * @throws {BrasilApiNetworkError} On network errors
160
+ * @throws {BrasilApiResponseError} On invalid response
161
+ */
162
+ declare function getCep(cep: string): Promise<CepResponse>;
163
+ /**
164
+ * Get address information with geolocation by CEP
165
+ * @param cep CEP in format 12345-678 or 12345678
166
+ * @returns Address data with latitude/longitude
167
+ * @throws {BrasilApiValidationError} On invalid input
168
+ * @throws {BrasilApiNetworkError} On network errors
169
+ * @throws {BrasilApiResponseError} On invalid response
170
+ */
171
+ declare function getCepV2(cep: string): Promise<CepV2Response>;
172
+ import { z as z2 } from "zod";
173
+ /**
174
+ * Bank response schema
175
+ */
176
+ declare const BankSchema: z2.ZodObject<{
177
+ ispb: z2.ZodString;
178
+ name: z2.ZodString;
179
+ code: z2.ZodNullable<z2.ZodNumber>;
180
+ fullName: z2.ZodString;
181
+ }, "strip", z2.ZodTypeAny, {
182
+ ispb?: string;
183
+ name?: string;
184
+ code?: number;
185
+ fullName?: string;
186
+ }, {
187
+ ispb?: string;
188
+ name?: string;
189
+ code?: number;
190
+ fullName?: string;
191
+ }>;
192
+ /**
193
+ * Bank type
194
+ */
195
+ type Bank = z2.infer<typeof BankSchema>;
196
+ /**
197
+ * Get all Brazilian banks
198
+ * @returns Array of all banks
199
+ * @throws {BrasilApiNetworkError} On network errors
200
+ * @throws {BrasilApiResponseError} On invalid response
201
+ */
202
+ declare function getBanks(): Promise<Bank[]>;
203
+ /**
204
+ * Get bank information by code
205
+ * @param code Bank code (e.g., 1 for Banco do Brasil)
206
+ * @returns Bank data
207
+ * @throws {BrasilApiValidationError} On invalid input
208
+ * @throws {BrasilApiNetworkError} On network errors
209
+ * @throws {BrasilApiResponseError} On invalid response
210
+ */
211
+ declare function getBank(code: number): Promise<Bank>;
212
+ import { z as z3 } from "zod";
213
+ /**
214
+ * CNPJ response schema
215
+ */
216
+ declare const CnpjResponseSchema: z3.ZodObject<{
217
+ cnpj: z3.ZodString;
218
+ razao_social: z3.ZodOptional<z3.ZodString>;
219
+ nome_fantasia: z3.ZodOptional<z3.ZodString>;
220
+ uf: z3.ZodOptional<z3.ZodString>;
221
+ municipio: z3.ZodOptional<z3.ZodString>;
222
+ natureza_juridica: z3.ZodOptional<z3.ZodString>;
223
+ situacao_cadastral: z3.ZodOptional<z3.ZodString>;
224
+ data_inicio_atividade: z3.ZodOptional<z3.ZodString>;
225
+ cnae_fiscal: z3.ZodOptional<z3.ZodString>;
226
+ qsa: z3.ZodArray<z3.ZodAny, "many">;
227
+ }, "strip", z3.ZodTypeAny, {
228
+ cnpj?: string;
229
+ razao_social?: string;
230
+ nome_fantasia?: string;
231
+ uf?: string;
232
+ municipio?: string;
233
+ natureza_juridica?: string;
234
+ situacao_cadastral?: string;
235
+ data_inicio_atividade?: string;
236
+ cnae_fiscal?: string;
237
+ qsa?: any[];
238
+ }, {
239
+ cnpj?: string;
240
+ razao_social?: string;
241
+ nome_fantasia?: string;
242
+ uf?: string;
243
+ municipio?: string;
244
+ natureza_juridica?: string;
245
+ situacao_cadastral?: string;
246
+ data_inicio_atividade?: string;
247
+ cnae_fiscal?: string;
248
+ qsa?: any[];
249
+ }>;
250
+ /**
251
+ * CNPJ response type
252
+ */
253
+ type CnpjResponse = z3.infer<typeof CnpjResponseSchema>;
254
+ /**
255
+ * Get company information by CNPJ
256
+ * @param cnpj CNPJ with or without punctuation (12.345.678/0001-90 or 12345678000190)
257
+ * @returns Company data
258
+ * @throws {BrasilApiValidationError} On invalid input
259
+ * @throws {BrasilApiNetworkError} On network errors
260
+ * @throws {BrasilApiResponseError} On invalid response
261
+ */
262
+ declare function getCnpj(cnpj: string): Promise<CnpjResponse>;
263
+ import { z as z4 } from "zod";
264
+ /**
265
+ * DDD response schema
266
+ */
267
+ declare const DddResponseSchema: z4.ZodObject<{
268
+ state: z4.ZodString;
269
+ cities: z4.ZodArray<z4.ZodString, "many">;
270
+ }, "strip", z4.ZodTypeAny, {
271
+ state?: string;
272
+ cities?: string[];
273
+ }, {
274
+ state?: string;
275
+ cities?: string[];
276
+ }>;
277
+ /**
278
+ * DDD response type
279
+ */
280
+ type DddResponse = z4.infer<typeof DddResponseSchema>;
281
+ /**
282
+ * Get cities by area code (DDD)
283
+ * @param ddd Area code (2 digits)
284
+ * @returns State and list of cities
285
+ * @throws {BrasilApiValidationError} On invalid input
286
+ * @throws {BrasilApiNetworkError} On network errors
287
+ * @throws {BrasilApiResponseError} On invalid response
288
+ */
289
+ declare function getDdd(ddd: number | string): Promise<DddResponse>;
290
+ import { z as z5 } from "zod";
291
+ /**
292
+ * Schema for a single holiday (feriado)
293
+ */
294
+ declare const FeriadoSchema: z5.ZodObject<{
295
+ date: z5.ZodString;
296
+ name: z5.ZodString;
297
+ type: z5.ZodString;
298
+ }, "strip", z5.ZodTypeAny, {
299
+ name?: string;
300
+ type?: string;
301
+ date?: string;
302
+ }, {
303
+ name?: string;
304
+ type?: string;
305
+ date?: string;
306
+ }>;
307
+ /**
308
+ * Type for a Brazilian national holiday
309
+ */
310
+ type Feriado = z5.infer<typeof FeriadoSchema>;
311
+ /**
312
+ * Get Brazilian national holidays for a given year
313
+ *
314
+ * @param year - Year to get holidays for (must be between 1900 and 2199)
315
+ * @returns Array of holidays with date, name, and type
316
+ * @throws {BrasilApiValidationError} If year is invalid
317
+ *
318
+ * @example
319
+ * ```typescript
320
+ * const holidays = await getFeriados(2024);
321
+ * console.log(holidays);
322
+ * // [
323
+ * // { date: "2024-01-01", name: "Confraternização mundial", type: "national" },
324
+ * // { date: "2024-04-21", name: "Tiradentes", type: "national" },
325
+ * // ...
326
+ * // ]
327
+ * ```
328
+ */
329
+ declare function getFeriados(year: number): Promise<Feriado[]>;
330
+ import { z as z6 } from "zod";
331
+ /**
332
+ * Schema for a Brazilian state (estado)
333
+ */
334
+ declare const EstadoSchema: z6.ZodObject<{
335
+ id: z6.ZodNumber;
336
+ sigla: z6.ZodString;
337
+ nome: z6.ZodString;
338
+ regiao: z6.ZodObject<{
339
+ id: z6.ZodNumber;
340
+ sigla: z6.ZodString;
341
+ nome: z6.ZodString;
342
+ }, "strip", z6.ZodTypeAny, {
343
+ nome?: string;
344
+ id?: number;
345
+ sigla?: string;
346
+ }, {
347
+ nome?: string;
348
+ id?: number;
349
+ sigla?: string;
350
+ }>;
351
+ }, "strip", z6.ZodTypeAny, {
352
+ nome?: string;
353
+ id?: number;
354
+ sigla?: string;
355
+ regiao?: {
356
+ nome?: string;
357
+ id?: number;
358
+ sigla?: string;
359
+ };
360
+ }, {
361
+ nome?: string;
362
+ id?: number;
363
+ sigla?: string;
364
+ regiao?: {
365
+ nome?: string;
366
+ id?: number;
367
+ sigla?: string;
368
+ };
369
+ }>;
370
+ /**
371
+ * Type for a Brazilian state
372
+ */
373
+ type Estado = z6.infer<typeof EstadoSchema>;
374
+ /**
375
+ * Schema for a Brazilian municipality (municipio)
376
+ */
377
+ declare const MunicipioSchema: z6.ZodObject<{
378
+ nome: z6.ZodString;
379
+ codigo_ibge: z6.ZodString;
380
+ }, "strip", z6.ZodTypeAny, {
381
+ nome?: string;
382
+ codigo_ibge?: string;
383
+ }, {
384
+ nome?: string;
385
+ codigo_ibge?: string;
386
+ }>;
387
+ /**
388
+ * Type for a Brazilian municipality
389
+ */
390
+ type Municipio = z6.infer<typeof MunicipioSchema>;
391
+ /**
392
+ * Get all Brazilian states
393
+ *
394
+ * @returns Array of states with id, sigla, nome, and regiao
395
+ * @throws {BrasilApiNetworkError} On network errors
396
+ * @throws {BrasilApiResponseError} On invalid response
397
+ *
398
+ * @example
399
+ * ```typescript
400
+ * const estados = await getEstados();
401
+ * console.log(estados);
402
+ * // [
403
+ * // {
404
+ * // id: 35,
405
+ * // sigla: "SP",
406
+ * // nome: "São Paulo",
407
+ * // regiao: { id: 3, sigla: "SE", nome: "Sudeste" }
408
+ * // },
409
+ * // ...
410
+ * // ]
411
+ * ```
412
+ */
413
+ declare function getEstados(): Promise<Estado[]>;
414
+ /**
415
+ * Get municipalities by state code
416
+ *
417
+ * @param uf - State code (2 letters, case-insensitive)
418
+ * @returns Array of municipalities with nome and codigo_ibge
419
+ * @throws {BrasilApiValidationError} If state code is invalid
420
+ * @throws {BrasilApiNetworkError} On network errors
421
+ * @throws {BrasilApiResponseError} On invalid response
422
+ *
423
+ * @example
424
+ * ```typescript
425
+ * const municipios = await getMunicipios("SP");
426
+ * console.log(municipios);
427
+ * // [
428
+ * // { nome: "São Paulo", codigo_ibge: "3550308" },
429
+ * // { nome: "Campinas", codigo_ibge: "3509502" },
430
+ * // ...
431
+ * // ]
432
+ * ```
433
+ */
434
+ declare function getMunicipios(uf: string): Promise<Municipio[]>;
435
+ import { z as z7 } from "zod";
436
+ /**
437
+ * Schema for ISBN response
438
+ */
439
+ declare const IsbnResponseSchema: z7.ZodObject<{
440
+ isbn: z7.ZodString;
441
+ title: z7.ZodString;
442
+ subtitle: z7.ZodNullable<z7.ZodString>;
443
+ authors: z7.ZodArray<z7.ZodString, "many">;
444
+ publisher: z7.ZodString;
445
+ synopsis: z7.ZodNullable<z7.ZodString>;
446
+ dimensions: z7.ZodNullable<z7.ZodObject<{}, "passthrough", z7.ZodTypeAny, z7.objectOutputType<{}, z7.ZodTypeAny, "passthrough">, z7.objectInputType<{}, z7.ZodTypeAny, "passthrough">>>;
447
+ year: z7.ZodNullable<z7.ZodNumber>;
448
+ format: z7.ZodString;
449
+ page_count: z7.ZodNumber;
450
+ subjects: z7.ZodArray<z7.ZodString, "many">;
451
+ location: z7.ZodNullable<z7.ZodString>;
452
+ retail_price: z7.ZodNullable<z7.ZodString>;
453
+ cover_url: z7.ZodNullable<z7.ZodString>;
454
+ provider: z7.ZodString;
455
+ }, "strip", z7.ZodTypeAny, {
456
+ location?: string;
457
+ isbn?: string;
458
+ title?: string;
459
+ subtitle?: string;
460
+ authors?: string[];
461
+ publisher?: string;
462
+ synopsis?: string;
463
+ dimensions?: {} & {
464
+ [k: string]: unknown;
465
+ };
466
+ year?: number;
467
+ format?: string;
468
+ page_count?: number;
469
+ subjects?: string[];
470
+ retail_price?: string;
471
+ cover_url?: string;
472
+ provider?: string;
473
+ }, {
474
+ location?: string;
475
+ isbn?: string;
476
+ title?: string;
477
+ subtitle?: string;
478
+ authors?: string[];
479
+ publisher?: string;
480
+ synopsis?: string;
481
+ dimensions?: {} & {
482
+ [k: string]: unknown;
483
+ };
484
+ year?: number;
485
+ format?: string;
486
+ page_count?: number;
487
+ subjects?: string[];
488
+ retail_price?: string;
489
+ cover_url?: string;
490
+ provider?: string;
491
+ }>;
492
+ /**
493
+ * Type for ISBN response
494
+ */
495
+ type IsbnResponse = z7.infer<typeof IsbnResponseSchema>;
496
+ /**
497
+ * Get book information by ISBN
498
+ *
499
+ * @param isbn - ISBN code (10 or 13 digits)
500
+ * @returns Book information including title, authors, publisher, etc.
501
+ * @throws {BrasilApiValidationError} If ISBN format is invalid
502
+ * @throws {BrasilApiNetworkError} On network errors
503
+ * @throws {BrasilApiResponseError} On invalid response
504
+ *
505
+ * @example
506
+ * ```typescript
507
+ * const book = await getIsbn("9788545702269");
508
+ * console.log(book.title);
509
+ * console.log(book.authors);
510
+ * ```
511
+ */
512
+ declare function getIsbn(isbn: string): Promise<IsbnResponse>;
513
+ import { z as z8 } from "zod";
514
+ /**
515
+ * Schema for NCM (Nomenclatura Comum do Mercosul)
516
+ */
517
+ declare const NcmSchema: z8.ZodObject<{
518
+ codigo: z8.ZodString;
519
+ descricao: z8.ZodString;
520
+ data_inicio: z8.ZodString;
521
+ data_fim: z8.ZodString;
522
+ tipo_ato: z8.ZodString;
523
+ numero_ato: z8.ZodString;
524
+ ano_ato: z8.ZodString;
525
+ }, "strip", z8.ZodTypeAny, {
526
+ codigo?: string;
527
+ descricao?: string;
528
+ data_inicio?: string;
529
+ data_fim?: string;
530
+ tipo_ato?: string;
531
+ numero_ato?: string;
532
+ ano_ato?: string;
533
+ }, {
534
+ codigo?: string;
535
+ descricao?: string;
536
+ data_inicio?: string;
537
+ data_fim?: string;
538
+ tipo_ato?: string;
539
+ numero_ato?: string;
540
+ ano_ato?: string;
541
+ }>;
542
+ /**
543
+ * Type for NCM
544
+ */
545
+ type Ncm = z8.infer<typeof NcmSchema>;
546
+ /**
547
+ * Get all NCM codes
548
+ *
549
+ * @returns Array of NCM codes with descriptions and metadata
550
+ * @throws {BrasilApiNetworkError} On network errors
551
+ * @throws {BrasilApiResponseError} On invalid response
552
+ *
553
+ * @example
554
+ * ```typescript
555
+ * const ncms = await getNcms();
556
+ * console.log(ncms);
557
+ * // [
558
+ * // {
559
+ * // codigo: "01012100",
560
+ * // descricao: "Reprodutores de raça pura",
561
+ * // data_inicio: "2017-01-01",
562
+ * // data_fim: "2023-03-31",
563
+ * // tipo_ato: "Res Camex",
564
+ * // numero_ato: "125",
565
+ * // ano_ato: "2016"
566
+ * // },
567
+ * // ...
568
+ * // ]
569
+ * ```
570
+ */
571
+ declare function getNcms(): Promise<Ncm[]>;
572
+ /**
573
+ * Get NCM by code
574
+ *
575
+ * @param code - NCM code (8 digits)
576
+ * @returns NCM information with description and metadata
577
+ * @throws {BrasilApiNetworkError} On network errors
578
+ * @throws {BrasilApiResponseError} On invalid response
579
+ *
580
+ * @example
581
+ * ```typescript
582
+ * const ncm = await getNcm("01012100");
583
+ * console.log(ncm);
584
+ * // {
585
+ * // codigo: "01012100",
586
+ * // descricao: "Reprodutores de raça pura",
587
+ * // data_inicio: "2017-01-01",
588
+ * // data_fim: "2023-03-31",
589
+ * // tipo_ato: "Res Camex",
590
+ * // numero_ato: "125",
591
+ * // ano_ato: "2016"
592
+ * // }
593
+ * ```
594
+ */
595
+ declare function getNcm(code: string): Promise<Ncm>;
596
+ import { z as z9 } from "zod";
597
+ /**
598
+ * Schema for PIX participant
599
+ */
600
+ declare const PixParticipantSchema: z9.ZodObject<{
601
+ ispb: z9.ZodString;
602
+ nome: z9.ZodString;
603
+ nome_reduzido: z9.ZodString;
604
+ modalidade_participacao: z9.ZodString;
605
+ tipo_participacao: z9.ZodString;
606
+ inicio_operacao: z9.ZodString;
607
+ }, "strip", z9.ZodTypeAny, {
608
+ ispb?: string;
609
+ nome?: string;
610
+ nome_reduzido?: string;
611
+ modalidade_participacao?: string;
612
+ tipo_participacao?: string;
613
+ inicio_operacao?: string;
614
+ }, {
615
+ ispb?: string;
616
+ nome?: string;
617
+ nome_reduzido?: string;
618
+ modalidade_participacao?: string;
619
+ tipo_participacao?: string;
620
+ inicio_operacao?: string;
621
+ }>;
622
+ /**
623
+ * Type for PIX participant
624
+ */
625
+ type PixParticipant = z9.infer<typeof PixParticipantSchema>;
626
+ /**
627
+ * Get all PIX participants
628
+ *
629
+ * @returns Array of PIX participants with ISPB, names, and participation info
630
+ * @throws {BrasilApiNetworkError} On network errors
631
+ * @throws {BrasilApiResponseError} On invalid response
632
+ *
633
+ * @example
634
+ * ```typescript
635
+ * const participants = await getPixParticipants();
636
+ * console.log(participants);
637
+ * // [
638
+ * // {
639
+ * // ispb: "00000000",
640
+ * // nome: "Banco Central do Brasil",
641
+ * // nome_reduzido: "BCB",
642
+ * // modalidade_participacao: "DIRETO",
643
+ * // tipo_participacao: "LIQUIDANTE",
644
+ * // inicio_operacao: "2020-11-03T00:00:00.000Z"
645
+ * // },
646
+ * // ...
647
+ * // ]
648
+ * ```
649
+ */
650
+ declare function getPixParticipants(): Promise<PixParticipant[]>;
651
+ import { z as z10 } from "zod";
652
+ /**
653
+ * Schema for domain status from Registro.br
654
+ */
655
+ declare const DomainStatusSchema: z10.ZodObject<{
656
+ status_code: z10.ZodNumber;
657
+ status: z10.ZodString;
658
+ fqdn: z10.ZodString;
659
+ hosts: z10.ZodArray<z10.ZodString, "many">;
660
+ "publication-status": z10.ZodString;
661
+ "expires-at": z10.ZodString;
662
+ suggestions: z10.ZodArray<z10.ZodString, "many">;
663
+ }, "strip", z10.ZodTypeAny, {
664
+ status?: string;
665
+ status_code?: number;
666
+ fqdn?: string;
667
+ hosts?: string[];
668
+ "publication-status"?: string;
669
+ "expires-at"?: string;
670
+ suggestions?: string[];
671
+ }, {
672
+ status?: string;
673
+ status_code?: number;
674
+ fqdn?: string;
675
+ hosts?: string[];
676
+ "publication-status"?: string;
677
+ "expires-at"?: string;
678
+ suggestions?: string[];
679
+ }>;
680
+ /**
681
+ * Type for domain status from Registro.br
682
+ */
683
+ type DomainStatus = z10.infer<typeof DomainStatusSchema>;
684
+ /**
685
+ * Get status of a .br domain from Registro.br
686
+ *
687
+ * @param domain - The .br domain to check (e.g., "google.com.br")
688
+ * @returns Domain status information including availability, hosts, and
689
+ * expiration
690
+ * @throws {BrasilApiNetworkError} On network errors
691
+ * @throws {BrasilApiResponseError} On invalid response
692
+ *
693
+ * @example
694
+ * ```typescript
695
+ * const status = await getDomainStatus("google.com.br");
696
+ * console.log(status);
697
+ * // {
698
+ * // status_code: 1,
699
+ * // status: "REGISTERED",
700
+ * // fqdn: "google.com.br",
701
+ * // hosts: ["ns1.google.com", "ns2.google.com"],
702
+ * // publication_status: "published",
703
+ * // expires_at: "2025-12-31T23:59:59.000Z",
704
+ * // suggestions: []
705
+ * // }
706
+ * ```
707
+ */
708
+ declare function getDomainStatus(domain: string): Promise<DomainStatus>;
709
+ import { z as z11 } from "zod";
710
+ /**
711
+ * Schema for interest rate (Taxa)
712
+ */
713
+ declare const TaxaSchema: z11.ZodObject<{
714
+ nome: z11.ZodString;
715
+ valor: z11.ZodNullable<z11.ZodNumber>;
716
+ }, "strip", z11.ZodTypeAny, {
717
+ nome?: string;
718
+ valor?: number;
719
+ }, {
720
+ nome?: string;
721
+ valor?: number;
722
+ }>;
723
+ /**
724
+ * Type for interest rate (Taxa)
725
+ */
726
+ type Taxa = z11.infer<typeof TaxaSchema>;
727
+ /**
728
+ * Get all Brazilian interest rates
729
+ *
730
+ * @returns Array of interest rates with names and values
731
+ * @throws {BrasilApiNetworkError} On network errors
732
+ * @throws {BrasilApiResponseError} On invalid response
733
+ *
734
+ * @example
735
+ * ```typescript
736
+ * const rates = await getTaxas();
737
+ * console.log(rates);
738
+ * // [
739
+ * // { nome: "SELIC", valor: 13.75 },
740
+ * // { nome: "CDI", valor: 13.65 },
741
+ * // { nome: "IPCA", valor: 4.62 },
742
+ * // ...
743
+ * // ]
744
+ * ```
745
+ */
746
+ declare function getTaxas(): Promise<Taxa[]>;
747
+ /**
748
+ * Get a specific Brazilian interest rate by name/sigla
749
+ *
750
+ * @param sigla - The rate identifier/name (e.g., "SELIC", "CDI", "IPCA")
751
+ * @returns Interest rate with name and value
752
+ * @throws {BrasilApiNetworkError} On network errors
753
+ * @throws {BrasilApiResponseError} On invalid response
754
+ * @throws {BrasilApiNotFoundError} If rate not found
755
+ *
756
+ * @example
757
+ * ```typescript
758
+ * const rate = await getTaxa("SELIC");
759
+ * console.log(rate);
760
+ * // { nome: "SELIC", valor: 13.75 }
761
+ * ```
762
+ */
763
+ declare function getTaxa(sigla: string): Promise<Taxa>;
764
+ import { z as z12 } from "zod";
765
+ /**
766
+ * Schema for broker (Corretora) from CVM
767
+ */
768
+ declare const CorretoraSchema: z12.ZodObject<{
769
+ cnpj: z12.ZodString;
770
+ type: z12.ZodString;
771
+ nome_social: z12.ZodString;
772
+ nome_comercial: z12.ZodString;
773
+ status: z12.ZodString;
774
+ email: z12.ZodOptional<z12.ZodString>;
775
+ telefone: z12.ZodOptional<z12.ZodString>;
776
+ cep: z12.ZodOptional<z12.ZodString>;
777
+ pais: z12.ZodOptional<z12.ZodString>;
778
+ uf: z12.ZodOptional<z12.ZodString>;
779
+ municipio: z12.ZodOptional<z12.ZodString>;
780
+ bairro: z12.ZodOptional<z12.ZodString>;
781
+ complemento: z12.ZodOptional<z12.ZodString>;
782
+ logradouro: z12.ZodOptional<z12.ZodString>;
783
+ data_patrimonio_liquido: z12.ZodOptional<z12.ZodString>;
784
+ valor_patrimonio_liquido: z12.ZodOptional<z12.ZodString>;
785
+ codigo_cvm: z12.ZodOptional<z12.ZodString>;
786
+ data_inicio_situacao: z12.ZodOptional<z12.ZodString>;
787
+ data_registro: z12.ZodOptional<z12.ZodString>;
788
+ }, "strip", z12.ZodTypeAny, {
789
+ type?: string;
790
+ status?: string;
791
+ cep?: string;
792
+ cnpj?: string;
793
+ uf?: string;
794
+ municipio?: string;
795
+ nome_social?: string;
796
+ nome_comercial?: string;
797
+ email?: string;
798
+ telefone?: string;
799
+ pais?: string;
800
+ bairro?: string;
801
+ complemento?: string;
802
+ logradouro?: string;
803
+ data_patrimonio_liquido?: string;
804
+ valor_patrimonio_liquido?: string;
805
+ codigo_cvm?: string;
806
+ data_inicio_situacao?: string;
807
+ data_registro?: string;
808
+ }, {
809
+ type?: string;
810
+ status?: string;
811
+ cep?: string;
812
+ cnpj?: string;
813
+ uf?: string;
814
+ municipio?: string;
815
+ nome_social?: string;
816
+ nome_comercial?: string;
817
+ email?: string;
818
+ telefone?: string;
819
+ pais?: string;
820
+ bairro?: string;
821
+ complemento?: string;
822
+ logradouro?: string;
823
+ data_patrimonio_liquido?: string;
824
+ valor_patrimonio_liquido?: string;
825
+ codigo_cvm?: string;
826
+ data_inicio_situacao?: string;
827
+ data_registro?: string;
828
+ }>;
829
+ /**
830
+ * Type for broker (Corretora) from CVM
831
+ */
832
+ type Corretora = z12.infer<typeof CorretoraSchema>;
833
+ /**
834
+ * Get all Brazilian brokers registered with CVM
835
+ *
836
+ * @returns Array of brokers with CNPJ, names, status, and contact
837
+ * information
838
+ * @throws {BrasilApiNetworkError} On network errors
839
+ * @throws {BrasilApiResponseError} On invalid response
840
+ *
841
+ * @example
842
+ * ```typescript
843
+ * const brokers = await getCorretoras();
844
+ * console.log(brokers);
845
+ * // [
846
+ * // {
847
+ * // cnpj: "00000000000000",
848
+ * // tipo: "Corretora de Valores",
849
+ * // nome_social: "Broker S.A.",
850
+ * // nome_comercial: "Broker",
851
+ * // status: "EM FUNCIONAMENTO NORMAL",
852
+ * // email: "contact@broker.com",
853
+ * // telefone: "11999999999",
854
+ * // ...
855
+ * // },
856
+ * // ...
857
+ * // ]
858
+ * ```
859
+ */
860
+ declare function getCorretoras(): Promise<Corretora[]>;
861
+ /**
862
+ * Get a specific Brazilian broker by CNPJ from CVM
863
+ *
864
+ * @param cnpj - The broker's CNPJ (14 digits)
865
+ * @returns Broker information with CNPJ, names, status, and contact
866
+ * information
867
+ * @throws {BrasilApiNetworkError} On network errors
868
+ * @throws {BrasilApiResponseError} On invalid response
869
+ * @throws {BrasilApiNotFoundError} If broker not found
870
+ *
871
+ * @example
872
+ * ```typescript
873
+ * const broker = await getCorretora("00000000000000");
874
+ * console.log(broker);
875
+ * // {
876
+ * // cnpj: "00000000000000",
877
+ * // tipo: "Corretora de Valores",
878
+ * // nome_social: "Broker S.A.",
879
+ * // nome_comercial: "Broker",
880
+ * // status: "EM FUNCIONAMENTO NORMAL",
881
+ * // email: "contact@broker.com",
882
+ * // telefone: "11999999999",
883
+ * // ...
884
+ * // }
885
+ * ```
886
+ */
887
+ declare function getCorretora(cnpj: string): Promise<Corretora>;
888
+ import { z as z13 } from "zod";
889
+ /**
890
+ * Schema for city information from CPTEC
891
+ */
892
+ declare const CidadeSchema: z13.ZodObject<{
893
+ id: z13.ZodNumber;
894
+ nome: z13.ZodString;
895
+ estado: z13.ZodString;
896
+ }, "strip", z13.ZodTypeAny, {
897
+ nome?: string;
898
+ id?: number;
899
+ estado?: string;
900
+ }, {
901
+ nome?: string;
902
+ id?: number;
903
+ estado?: string;
904
+ }>;
905
+ /**
906
+ * Type for city from CPTEC
907
+ */
908
+ type Cidade = z13.infer<typeof CidadeSchema>;
909
+ /**
910
+ * Schema for weather forecast
911
+ */
912
+ declare const PrevisaoSchema: z13.ZodObject<{
913
+ cidade: z13.ZodString;
914
+ estado: z13.ZodString;
915
+ atualizado_em: z13.ZodString;
916
+ clima: z13.ZodArray<z13.ZodObject<{
917
+ data: z13.ZodString;
918
+ condicao: z13.ZodString;
919
+ condicao_desc: z13.ZodOptional<z13.ZodString>;
920
+ min: z13.ZodNumber;
921
+ max: z13.ZodNumber;
922
+ indice_uv: z13.ZodNumber;
923
+ }, "strip", z13.ZodTypeAny, {
924
+ data?: string;
925
+ condicao?: string;
926
+ condicao_desc?: string;
927
+ min?: number;
928
+ max?: number;
929
+ indice_uv?: number;
930
+ }, {
931
+ data?: string;
932
+ condicao?: string;
933
+ condicao_desc?: string;
934
+ min?: number;
935
+ max?: number;
936
+ indice_uv?: number;
937
+ }>, "many">;
938
+ }, "strip", z13.ZodTypeAny, {
939
+ estado?: string;
940
+ cidade?: string;
941
+ atualizado_em?: string;
942
+ clima?: {
943
+ data?: string;
944
+ condicao?: string;
945
+ condicao_desc?: string;
946
+ min?: number;
947
+ max?: number;
948
+ indice_uv?: number;
949
+ }[];
950
+ }, {
951
+ estado?: string;
952
+ cidade?: string;
953
+ atualizado_em?: string;
954
+ clima?: {
955
+ data?: string;
956
+ condicao?: string;
957
+ condicao_desc?: string;
958
+ min?: number;
959
+ max?: number;
960
+ indice_uv?: number;
961
+ }[];
962
+ }>;
963
+ /**
964
+ * Type for weather forecast
965
+ */
966
+ type Previsao = z13.infer<typeof PrevisaoSchema>;
967
+ /**
968
+ * Schema for ocean wave forecast
969
+ */
970
+ declare const PrevisaoOndasSchema: z13.ZodObject<{
971
+ cidade: z13.ZodString;
972
+ estado: z13.ZodString;
973
+ atualizado_em: z13.ZodString;
974
+ ondas: z13.ZodArray<z13.ZodObject<{
975
+ data: z13.ZodString;
976
+ dados_ondas: z13.ZodArray<z13.ZodObject<{
977
+ hora: z13.ZodOptional<z13.ZodString>;
978
+ vento: z13.ZodNumber;
979
+ direcao_vento: z13.ZodString;
980
+ direcao_vento_desc: z13.ZodOptional<z13.ZodString>;
981
+ altura_onda: z13.ZodNumber;
982
+ direcao_onda: z13.ZodOptional<z13.ZodString>;
983
+ direcao_onda_desc: z13.ZodOptional<z13.ZodString>;
984
+ agitation: z13.ZodString;
985
+ }, "strip", z13.ZodTypeAny, {
986
+ hora?: string;
987
+ vento?: number;
988
+ direcao_vento?: string;
989
+ direcao_vento_desc?: string;
990
+ altura_onda?: number;
991
+ direcao_onda?: string;
992
+ direcao_onda_desc?: string;
993
+ agitation?: string;
994
+ }, {
995
+ hora?: string;
996
+ vento?: number;
997
+ direcao_vento?: string;
998
+ direcao_vento_desc?: string;
999
+ altura_onda?: number;
1000
+ direcao_onda?: string;
1001
+ direcao_onda_desc?: string;
1002
+ agitation?: string;
1003
+ }>, "many">;
1004
+ }, "strip", z13.ZodTypeAny, {
1005
+ data?: string;
1006
+ dados_ondas?: {
1007
+ hora?: string;
1008
+ vento?: number;
1009
+ direcao_vento?: string;
1010
+ direcao_vento_desc?: string;
1011
+ altura_onda?: number;
1012
+ direcao_onda?: string;
1013
+ direcao_onda_desc?: string;
1014
+ agitation?: string;
1015
+ }[];
1016
+ }, {
1017
+ data?: string;
1018
+ dados_ondas?: {
1019
+ hora?: string;
1020
+ vento?: number;
1021
+ direcao_vento?: string;
1022
+ direcao_vento_desc?: string;
1023
+ altura_onda?: number;
1024
+ direcao_onda?: string;
1025
+ direcao_onda_desc?: string;
1026
+ agitation?: string;
1027
+ }[];
1028
+ }>, "many">;
1029
+ }, "strip", z13.ZodTypeAny, {
1030
+ estado?: string;
1031
+ cidade?: string;
1032
+ atualizado_em?: string;
1033
+ ondas?: {
1034
+ data?: string;
1035
+ dados_ondas?: {
1036
+ hora?: string;
1037
+ vento?: number;
1038
+ direcao_vento?: string;
1039
+ direcao_vento_desc?: string;
1040
+ altura_onda?: number;
1041
+ direcao_onda?: string;
1042
+ direcao_onda_desc?: string;
1043
+ agitation?: string;
1044
+ }[];
1045
+ }[];
1046
+ }, {
1047
+ estado?: string;
1048
+ cidade?: string;
1049
+ atualizado_em?: string;
1050
+ ondas?: {
1051
+ data?: string;
1052
+ dados_ondas?: {
1053
+ hora?: string;
1054
+ vento?: number;
1055
+ direcao_vento?: string;
1056
+ direcao_vento_desc?: string;
1057
+ altura_onda?: number;
1058
+ direcao_onda?: string;
1059
+ direcao_onda_desc?: string;
1060
+ agitation?: string;
1061
+ }[];
1062
+ }[];
1063
+ }>;
1064
+ /**
1065
+ * Type for ocean wave forecast
1066
+ */
1067
+ type PrevisaoOndas = z13.infer<typeof PrevisaoOndasSchema>;
1068
+ /**
1069
+ * Get all cities available for weather forecast from CPTEC
1070
+ *
1071
+ * @returns Array of cities with ID, name, and state
1072
+ * @throws {BrasilApiNetworkError} On network errors
1073
+ * @throws {BrasilApiResponseError} On invalid response
1074
+ *
1075
+ * @example
1076
+ * ```typescript
1077
+ * const cities = await getCidades();
1078
+ * console.log(cities);
1079
+ * // [
1080
+ * // { id: 244, nome: "São Paulo", estado: "SP" },
1081
+ * // { id: 201, nome: "Rio de Janeiro", estado: "RJ" },
1082
+ * // ...
1083
+ * // ]
1084
+ * ```
1085
+ */
1086
+ declare function getCidades(): Promise<Cidade[]>;
1087
+ /**
1088
+ * Get weather forecast for a specific city
1089
+ *
1090
+ * @param cityCode - CPTEC city code
1091
+ * @param days - Number of days for forecast (1-6, default: 1)
1092
+ * @returns Weather forecast with city info and climate data
1093
+ * @throws {BrasilApiNetworkError} On network errors
1094
+ * @throws {BrasilApiResponseError} On invalid response
1095
+ * @throws {BrasilApiNotFoundError} If city not found
1096
+ *
1097
+ * @example
1098
+ * ```typescript
1099
+ * const forecast = await getPrevisao(244, 3);
1100
+ * console.log(forecast);
1101
+ * // {
1102
+ * // cidade: "São Paulo",
1103
+ * // estado: "SP",
1104
+ * // atualizado_em: "2024-01-30 10:00:00",
1105
+ * // clima: [
1106
+ * // {
1107
+ * // data: "2024-01-30",
1108
+ * // condicao: "ps",
1109
+ * // min: 18,
1110
+ * // max: 28,
1111
+ * // indice_uv: 8
1112
+ * // },
1113
+ * // ...
1114
+ * // ]
1115
+ * // }
1116
+ * ```
1117
+ */
1118
+ declare function getPrevisao(cityCode: number, days?: number): Promise<Previsao>;
1119
+ /**
1120
+ * Get ocean wave forecast for coastal cities
1121
+ *
1122
+ * @param cityCode - CPTEC city code (coastal city)
1123
+ * @returns Ocean wave forecast with wind, wave height, and agitation data
1124
+ * @throws {BrasilApiNetworkError} On network errors
1125
+ * @throws {BrasilApiResponseError} On invalid response
1126
+ * @throws {BrasilApiNotFoundError} If city not found
1127
+ *
1128
+ * @example
1129
+ * ```typescript
1130
+ * const waves = await getPrevisaoOndas(241);
1131
+ * console.log(waves);
1132
+ * // {
1133
+ * // cidade: "Santos",
1134
+ * // estado: "SP",
1135
+ * // atualizado_em: "2024-01-30 10:00:00",
1136
+ * // ondas: [
1137
+ * // {
1138
+ * // data: "2024-01-30",
1139
+ * // dados_ondas: [
1140
+ * // {
1141
+ * // vento: 15,
1142
+ * // direcao_vento: "SE",
1143
+ * // vento_medio: 12,
1144
+ * // agitation: "Fraca",
1145
+ * // altura_onda: 1.2
1146
+ * // },
1147
+ * // ...
1148
+ * // ]
1149
+ * // },
1150
+ * // ...
1151
+ * // ]
1152
+ * // }
1153
+ * ```
1154
+ */
1155
+ declare function getPrevisaoOndas(cityCode: number): Promise<PrevisaoOndas>;
1156
+ import { z as z14 } from "zod";
1157
+ /**
1158
+ * Schema for currency information
1159
+ */
1160
+ declare const MoedaSchema: z14.ZodObject<{
1161
+ simbolo: z14.ZodString;
1162
+ nome: z14.ZodString;
1163
+ tipo_moeda: z14.ZodString;
1164
+ }, "strip", z14.ZodTypeAny, {
1165
+ simbolo?: string;
1166
+ nome?: string;
1167
+ tipo_moeda?: string;
1168
+ }, {
1169
+ simbolo?: string;
1170
+ nome?: string;
1171
+ tipo_moeda?: string;
1172
+ }>;
1173
+ /**
1174
+ * Type for currency
1175
+ */
1176
+ type Moeda = z14.infer<typeof MoedaSchema>;
1177
+ /**
1178
+ * Schema for currency exchange rate response
1179
+ */
1180
+ declare const CotacaoResponseSchema: z14.ZodObject<{
1181
+ moeda: z14.ZodString;
1182
+ data: z14.ZodString;
1183
+ cotacoes: z14.ZodArray<z14.ZodObject<{
1184
+ paridade_compra: z14.ZodNumber;
1185
+ paridade_venda: z14.ZodNumber;
1186
+ cotacao_compra: z14.ZodNumber;
1187
+ cotacao_venda: z14.ZodNumber;
1188
+ data_hora_cotacao: z14.ZodString;
1189
+ tipo_boletim: z14.ZodString;
1190
+ }, "strip", z14.ZodTypeAny, {
1191
+ paridade_compra?: number;
1192
+ paridade_venda?: number;
1193
+ cotacao_compra?: number;
1194
+ cotacao_venda?: number;
1195
+ data_hora_cotacao?: string;
1196
+ tipo_boletim?: string;
1197
+ }, {
1198
+ paridade_compra?: number;
1199
+ paridade_venda?: number;
1200
+ cotacao_compra?: number;
1201
+ cotacao_venda?: number;
1202
+ data_hora_cotacao?: string;
1203
+ tipo_boletim?: string;
1204
+ }>, "many">;
1205
+ }, "strip", z14.ZodTypeAny, {
1206
+ moeda?: string;
1207
+ data?: string;
1208
+ cotacoes?: {
1209
+ paridade_compra?: number;
1210
+ paridade_venda?: number;
1211
+ cotacao_compra?: number;
1212
+ cotacao_venda?: number;
1213
+ data_hora_cotacao?: string;
1214
+ tipo_boletim?: string;
1215
+ }[];
1216
+ }, {
1217
+ moeda?: string;
1218
+ data?: string;
1219
+ cotacoes?: {
1220
+ paridade_compra?: number;
1221
+ paridade_venda?: number;
1222
+ cotacao_compra?: number;
1223
+ cotacao_venda?: number;
1224
+ data_hora_cotacao?: string;
1225
+ tipo_boletim?: string;
1226
+ }[];
1227
+ }>;
1228
+ /**
1229
+ * Type for currency exchange rate response
1230
+ */
1231
+ type Cotacao = z14.infer<typeof CotacaoResponseSchema>;
1232
+ /**
1233
+ * Get list of available currencies for exchange rate queries
1234
+ *
1235
+ * @returns Array of available currencies with symbol, name, and type
1236
+ * @throws {BrasilApiNetworkError} On network errors
1237
+ * @throws {BrasilApiResponseError} On invalid response
1238
+ *
1239
+ * @example
1240
+ * ```typescript
1241
+ * const currencies = await getMoedas();
1242
+ * console.log(currencies);
1243
+ * // [
1244
+ * // {
1245
+ * // simbolo: "USD",
1246
+ * // nome: "Dólar Americano",
1247
+ * // tipo_moeda: "A"
1248
+ * // },
1249
+ * // {
1250
+ * // simbolo: "EUR",
1251
+ * // nome: "Euro",
1252
+ * // tipo_moeda: "B"
1253
+ * // },
1254
+ * // ...
1255
+ * // ]
1256
+ * ```
1257
+ */
1258
+ declare function getMoedas(): Promise<Moeda[]>;
1259
+ /**
1260
+ * Get exchange rate for a specific currency on a specific date
1261
+ *
1262
+ * @param moeda - Currency symbol (e.g., "USD", "EUR")
1263
+ * @param data - Date in format "MM-DD-YYYY"
1264
+ * @returns Exchange rate information with array of quotations
1265
+ * @throws {BrasilApiNetworkError} On network errors
1266
+ * @throws {BrasilApiResponseError} On invalid response
1267
+ * @throws {BrasilApiNotFoundError} If rate not found for date
1268
+ *
1269
+ * @example
1270
+ * ```typescript
1271
+ * const rate = await getCotacao("USD", "01-30-2024");
1272
+ * console.log(rate);
1273
+ * // {
1274
+ * // moeda: "USD",
1275
+ * // data: "2024-01-30",
1276
+ * // cotacoes: [
1277
+ * // {
1278
+ * // paridade_compra: 1,
1279
+ * // paridade_venda: 1,
1280
+ * // cotacao_compra: 4.95,
1281
+ * // cotacao_venda: 4.96,
1282
+ * // data_hora_cotacao: "2024-01-30 13:00:00",
1283
+ * // tipo_boletim: "FECHAMENTO PTAX"
1284
+ * // },
1285
+ * // ...
1286
+ * // ]
1287
+ * // }
1288
+ * ```
1289
+ */
1290
+ declare function getCotacao(moeda: string, data: string): Promise<Cotacao>;
1291
+ import { z as z15 } from "zod";
1292
+ /**
1293
+ * Vehicle type for FIPE queries
1294
+ */
1295
+ type TipoVeiculo = "carros" | "motos" | "caminhoes";
1296
+ /**
1297
+ * Schema for vehicle brand
1298
+ */
1299
+ declare const FipeMarcaSchema: z15.ZodObject<{
1300
+ nome: z15.ZodString;
1301
+ valor: z15.ZodString;
1302
+ }, "strip", z15.ZodTypeAny, {
1303
+ nome?: string;
1304
+ valor?: string;
1305
+ }, {
1306
+ nome?: string;
1307
+ valor?: string;
1308
+ }>;
1309
+ /**
1310
+ * Type for vehicle brand
1311
+ */
1312
+ type FipeMarca = z15.infer<typeof FipeMarcaSchema>;
1313
+ /**
1314
+ * Schema for vehicle price information
1315
+ */
1316
+ declare const FipePrecoSchema: z15.ZodObject<{
1317
+ valor: z15.ZodString;
1318
+ marca: z15.ZodString;
1319
+ modelo: z15.ZodString;
1320
+ anoModelo: z15.ZodNumber;
1321
+ combustivel: z15.ZodString;
1322
+ codigoFipe: z15.ZodString;
1323
+ mesReferencia: z15.ZodString;
1324
+ tipoVeiculo: z15.ZodNumber;
1325
+ siglaCombustivel: z15.ZodString;
1326
+ dataConsulta: z15.ZodOptional<z15.ZodString>;
1327
+ }, "strip", z15.ZodTypeAny, {
1328
+ valor?: string;
1329
+ marca?: string;
1330
+ modelo?: string;
1331
+ anoModelo?: number;
1332
+ combustivel?: string;
1333
+ codigoFipe?: string;
1334
+ mesReferencia?: string;
1335
+ tipoVeiculo?: number;
1336
+ siglaCombustivel?: string;
1337
+ dataConsulta?: string;
1338
+ }, {
1339
+ valor?: string;
1340
+ marca?: string;
1341
+ modelo?: string;
1342
+ anoModelo?: number;
1343
+ combustivel?: string;
1344
+ codigoFipe?: string;
1345
+ mesReferencia?: string;
1346
+ tipoVeiculo?: number;
1347
+ siglaCombustivel?: string;
1348
+ dataConsulta?: string;
1349
+ }>;
1350
+ /**
1351
+ * Type for vehicle price information
1352
+ */
1353
+ type FipePreco = z15.infer<typeof FipePrecoSchema>;
1354
+ /**
1355
+ * Schema for FIPE reference table
1356
+ */
1357
+ declare const FipeTabelaSchema: z15.ZodObject<{
1358
+ codigo: z15.ZodNumber;
1359
+ mes: z15.ZodString;
1360
+ }, "strip", z15.ZodTypeAny, {
1361
+ codigo?: number;
1362
+ mes?: string;
1363
+ }, {
1364
+ codigo?: number;
1365
+ mes?: string;
1366
+ }>;
1367
+ /**
1368
+ * Type for FIPE reference table
1369
+ */
1370
+ type FipeTabela = z15.infer<typeof FipeTabelaSchema>;
1371
+ /**
1372
+ * Get list of vehicle brands from FIPE
1373
+ *
1374
+ * @param tipoVeiculo - Type of vehicle ("carros", "motos", or
1375
+ * "caminhoes")
1376
+ * @returns Array of brands with name and value code
1377
+ * @throws {BrasilApiNetworkError} On network errors
1378
+ * @throws {BrasilApiResponseError} On invalid response
1379
+ *
1380
+ * @example
1381
+ * ```typescript
1382
+ * const brands = await getFipeMarcas("carros");
1383
+ * console.log(brands);
1384
+ * // [
1385
+ * // { nome: "Acura", valor: "1" },
1386
+ * // { nome: "Audi", valor: "2" },
1387
+ * // { nome: "BMW", valor: "3" },
1388
+ * // ...
1389
+ * // ]
1390
+ * ```
1391
+ */
1392
+ declare function getFipeMarcas(tipoVeiculo: TipoVeiculo): Promise<FipeMarca[]>;
1393
+ /**
1394
+ * Get vehicle price information by FIPE code
1395
+ *
1396
+ * @param codigoFipe - FIPE code (e.g., "004278-1")
1397
+ * @returns Vehicle price information including brand, model, year, fuel
1398
+ * type, and price
1399
+ * @throws {BrasilApiNetworkError} On network errors
1400
+ * @throws {BrasilApiResponseError} On invalid response
1401
+ * @throws {BrasilApiNotFoundError} If vehicle not found
1402
+ *
1403
+ * @example
1404
+ * ```typescript
1405
+ * const price = await getFipePreco("004278-1");
1406
+ * console.log(price);
1407
+ * // {
1408
+ * // valor: "R$ 45.000,00",
1409
+ * // marca: "VW - VolksWagen",
1410
+ * // modelo: "Gol 1.0",
1411
+ * // anoModelo: 2020,
1412
+ * // combustivel: "Gasolina",
1413
+ * // codigoFipe: "004278-1",
1414
+ * // mesReferencia: "janeiro de 2024",
1415
+ * // tipoVeiculo: 1,
1416
+ * // siglaCombustivel: "G"
1417
+ * // }
1418
+ * ```
1419
+ */
1420
+ declare function getFipePreco(codigoFipe: string): Promise<FipePreco>;
1421
+ /**
1422
+ * Get FIPE reference tables
1423
+ *
1424
+ * @returns Array of reference tables with code and month description
1425
+ * @throws {BrasilApiNetworkError} On network errors
1426
+ * @throws {BrasilApiResponseError} On invalid response
1427
+ *
1428
+ * @example
1429
+ * ```typescript
1430
+ * const tables = await getFipeTabelas();
1431
+ * console.log(tables);
1432
+ * // [
1433
+ * // { codigo: 290, mes: "janeiro de 2024" },
1434
+ * // { codigo: 289, mes: "dezembro de 2023" },
1435
+ * // { codigo: 288, mes: "novembro de 2023" },
1436
+ * // ...
1437
+ * // ]
1438
+ * ```
1439
+ */
1440
+ declare function getFipeTabelas(): Promise<FipeTabela[]>;
1441
+ declare const VERSION = "0.1.0";
1442
+ export { setConfig, resetConfig, getTaxas, getTaxa, getPrevisaoOndas, getPrevisao, getPixParticipants, getNcms, getNcm, getMunicipios, getMoedas, getIsbn, getFipeTabelas, getFipePreco, getFipeMarcas, getFeriados, getEstados, getDomainStatus, getDdd, getCotacao, getCorretoras, getCorretora, getConfig, getCnpj, getCidades, getCepV2, getCep, getBanks, getBank, configureBrasilApi, VERSION, TipoVeiculo, Taxa, PrevisaoOndas, Previsao, PixParticipant, Ncm, Municipio, Moeda, IsbnResponse, FipeTabela, FipePreco, FipeMarca, Feriado, Estado, DomainStatus, DddResponse, Cotacao, Corretora, CnpjResponse, Cidade, CepV2Response, CepResponse, BrasilApiValidationError, BrasilApiResponseError, BrasilApiNetworkError, BrasilApiError, BrasilApiConfig, Bank };