@po-ui/ng-sync 19.26.0 → 20.0.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.
Files changed (57) hide show
  1. package/fesm2022/po-ui-ng-sync.mjs +22 -22
  2. package/index.d.ts +1053 -3
  3. package/package.json +6 -6
  4. package/po-ui-ng-sync-20.0.0.tgz +0 -0
  5. package/schematics/migrations.json +7 -2
  6. package/schematics/ng-add/index.js +1 -1
  7. package/schematics/ng-update/v14/index.js +1 -1
  8. package/schematics/ng-update/v15/index.js +1 -1
  9. package/schematics/ng-update/v16/index.js +1 -1
  10. package/schematics/ng-update/v17/index.js +1 -1
  11. package/schematics/ng-update/v18/index.js +1 -1
  12. package/schematics/ng-update/v19/index.js +1 -1
  13. package/schematics/ng-update/v2/index.js +1 -1
  14. package/schematics/ng-update/v20/changes.d.ts +2 -0
  15. package/schematics/ng-update/v20/changes.js +14 -0
  16. package/schematics/ng-update/v20/changes.js.map +1 -0
  17. package/schematics/ng-update/v20/index.d.ts +1 -0
  18. package/schematics/ng-update/v20/index.js +16 -0
  19. package/schematics/ng-update/v20/index.js.map +1 -0
  20. package/schematics/ng-update/v3/index.js +1 -1
  21. package/schematics/ng-update/v4/index.js +1 -1
  22. package/schematics/ng-update/v5/index.js +1 -1
  23. package/schematics/ng-update/v6/index.js +1 -1
  24. package/lib/index.d.ts +0 -14
  25. package/lib/models/index.d.ts +0 -5
  26. package/lib/models/po-data-message.model.d.ts +0 -46
  27. package/lib/models/po-data-transform.model.d.ts +0 -52
  28. package/lib/models/po-entity/po-entity.model.d.ts +0 -122
  29. package/lib/models/po-event-sourcing-error-response.model.d.ts +0 -20
  30. package/lib/models/po-network-status.model.d.ts +0 -25
  31. package/lib/models/po-network-type.enum.d.ts +0 -28
  32. package/lib/models/po-query-builder/po-query-builder.model.d.ts +0 -126
  33. package/lib/models/po-request-type.enum.d.ts +0 -14
  34. package/lib/po-sync.module.d.ts +0 -11
  35. package/lib/services/po-event-sourcing/enums/po-event-sourcing-operation.enum.d.ts +0 -11
  36. package/lib/services/po-event-sourcing/index.d.ts +0 -3
  37. package/lib/services/po-event-sourcing/interfaces/po-event-sourcing-item.interface.d.ts +0 -26
  38. package/lib/services/po-event-sourcing/interfaces/po-event-sourcing-summary-item.interface.d.ts +0 -16
  39. package/lib/services/po-event-sourcing/po-event-sourcing.service.d.ts +0 -74
  40. package/lib/services/po-http-client/interfaces/po-http-header-option.interface.d.ts +0 -15
  41. package/lib/services/po-http-client/interfaces/po-http-request-data.interface.d.ts +0 -24
  42. package/lib/services/po-http-client/interfaces/po-response-api.interface.d.ts +0 -14
  43. package/lib/services/po-http-client/po-http-client.service.d.ts +0 -78
  44. package/lib/services/po-http-client/po-http-request-type.enum.d.ts +0 -23
  45. package/lib/services/po-network/po-network.service.d.ts +0 -35
  46. package/lib/services/po-schema/index.d.ts +0 -3
  47. package/lib/services/po-schema/po-schema-definition/po-schema-definition.service.d.ts +0 -51
  48. package/lib/services/po-schema/po-schema-util/po-schema-util.model.d.ts +0 -79
  49. package/lib/services/po-schema/po-schema.service.d.ts +0 -98
  50. package/lib/services/po-sync/interfaces/po-sync-config.interface.d.ts +0 -24
  51. package/lib/services/po-sync/interfaces/po-sync-field-options.interface.d.ts +0 -15
  52. package/lib/services/po-sync/interfaces/po-sync-response.interface.d.ts +0 -20
  53. package/lib/services/po-sync/interfaces/po-sync-schema.interface.d.ts +0 -37
  54. package/lib/services/po-sync/po-sync.service.d.ts +0 -162
  55. package/lib/utils/utils.d.ts +0 -36
  56. package/po-ui-ng-sync-19.26.0.tgz +0 -0
  57. package/public-api.d.ts +0 -1
package/index.d.ts CHANGED
@@ -1,5 +1,1055 @@
1
+ import { Observable } from 'rxjs';
2
+ import { PoStorageService } from '@po-ui/ng-storage';
3
+ import { HttpClient, HttpResponse, HttpErrorResponse } from '@angular/common/http';
4
+ import * as i0 from '@angular/core';
5
+
1
6
  /**
2
- * Generated bundle index. Do not edit.
7
+ * @description
8
+ *
9
+ * Classe responsável por adaptar dados de APIs que não seguem
10
+ * o padrão de [API do PO UI](https://po-ui.io/guides/api).
11
+ *
12
+ * Essa classe deve ser estendida por uma classe que implemente cada um de seus métodos, adaptando os parâmetros de
13
+ * acordo com a API do *backend* existente que se deseja comunicar.
3
14
  */
4
- /// <amd-module name="@po-ui/ng-sync" />
5
- export * from './public-api';
15
+ declare abstract class PoDataTransform {
16
+ protected data: any;
17
+ /**
18
+ * @docsPrivate
19
+ *
20
+ * Método responsável por receber e armazenar os dados retornados pela API para manipulação na classe `PoDataTransform`.
21
+ *
22
+ * @param {any} data Dados retornados pela API.
23
+ */
24
+ transform(data: any): void;
25
+ /**
26
+ * Retorna o nome da propriedade responsável por informar a data da última sincronização.
27
+ *
28
+ * @returns {string} Nome do campo que contém a data da última sincronização.
29
+ */
30
+ abstract getDateFieldName(): string;
31
+ /**
32
+ * Retorna o nome da propriedade responsável por informar a lista de registros vindos da API.
33
+ *
34
+ * @returns {string} Nome da propriedade que contém a lista de registros.
35
+ */
36
+ abstract getItemsFieldName(): string;
37
+ /**
38
+ * Retorna o nome da propriedade responsável por informar o número da página de registros que a API
39
+ * recebe como parâmetro.
40
+ *
41
+ * @returns {string} Nome da propriedade responsável por informar o número da página de registros.
42
+ */
43
+ abstract getPageParamName(): string;
44
+ /**
45
+ * Retorna o nome da propriedade responsável pela quantidade de registros que serão exibidos por página
46
+ * que a API recebe como parâmetro.
47
+ *
48
+ * @returns {string} Nome da propriedade responsável pela quantidade de registros por página.
49
+ */
50
+ abstract getPageSizeParamName(): string;
51
+ /**
52
+ * Retorna um valor `boolean`, responsável por informar se há uma nova página de registros disponível.
53
+ *
54
+ * @returns {boolean} Informa se existe próxima página de registros.
55
+ */
56
+ abstract hasNext(): boolean;
57
+ }
58
+
59
+ /**
60
+ * @docsPrivate
61
+ *
62
+ * Define as operações realizadas no sync.
63
+ */
64
+ declare enum PoEventSourcingOperation {
65
+ Delete = "DELETE",
66
+ Http = "HTTP",
67
+ Insert = "INSERT",
68
+ Update = "UPDATE"
69
+ }
70
+
71
+ /**
72
+ * @docsPrivate
73
+ *
74
+ * @description
75
+ *
76
+ * Define as informações de um evento para um determinado registro.
77
+ */
78
+ interface PoEventSourcingSummaryItem {
79
+ /** Identificador customizado do registro. */
80
+ customRequestId: string;
81
+ /** Especifica a operação que deverá ser realizada na API. */
82
+ operation: PoEventSourcingOperation;
83
+ /** Objeto *json* com os dados do registro. */
84
+ record: object;
85
+ }
86
+
87
+ /**
88
+ * @docsPrivate
89
+ *
90
+ * @usedBy PoHttpClientService
91
+ *
92
+ * @description
93
+ *
94
+ * Define o cabeçalho da requisição HTTP.
95
+ */
96
+ interface PoHttpHeaderOption {
97
+ /** Nome do cabeçalho. */
98
+ name: string;
99
+ /** Valor do cabeçalho. */
100
+ value: string;
101
+ }
102
+
103
+ /**
104
+ * @usedBy PoHttpClientService, PoHttpCommandResponse, PoSyncService
105
+ *
106
+ * @description
107
+ *
108
+ * Define o método de requisição HTTP.
109
+ */
110
+ declare enum PoHttpRequestType {
111
+ /** Método `delete` do protocolo HTTP. */
112
+ DELETE = "DELETE",
113
+ /** Método `get` do protocolo HTTP. */
114
+ GET = "GET",
115
+ /** Método `head` do protocolo HTTP. */
116
+ HEAD = "HEAD",
117
+ /** Método `options` do protocolo HTTP. */
118
+ OPTIONS = "OPTIONS",
119
+ /** Método `patch` do protocolo HTTP. */
120
+ PATCH = "PATCH",
121
+ /** Método `post` do protocolo HTTP. */
122
+ POST = "POST",
123
+ /** Método `put` do protocolo HTTP. */
124
+ PUT = "PUT"
125
+ }
126
+
127
+ /**
128
+ * @usedBy PoSyncService
129
+ *
130
+ * @description
131
+ *
132
+ * Interface para definição de uma requisição HTTP.
133
+ */
134
+ interface PoHttpRequestData {
135
+ /** URL que será utilizada na requisição. */
136
+ url: string;
137
+ /** Cabeçalho da requisição. */
138
+ headers?: Array<PoHttpHeaderOption>;
139
+ /** Método HTTP que será utilizado. */
140
+ method: PoHttpRequestType;
141
+ /** Corpo da requisição. */
142
+ body?: any;
143
+ /** Nome da propriedade que conterá o arquivo enviado para o servidor */
144
+ formField?: string;
145
+ bodyType?: string;
146
+ mimeType?: string;
147
+ fileName?: string;
148
+ }
149
+
150
+ /**
151
+ * @docsPrivate
152
+ *
153
+ * @description
154
+ *
155
+ * Serviço para execução de requisições HTTP.
156
+ */
157
+ declare class PoHttpClientService {
158
+ private httpClient;
159
+ constructor(httpClient: HttpClient);
160
+ /**
161
+ * Constrói uma requisição HTTP personalizada.
162
+ *
163
+ * @param {PoHttpRequestData} poHttpOperationData Parâmetros para a construção
164
+ * da requisição.
165
+ */
166
+ createRequest(poHttpOperationData: PoHttpRequestData): Observable<HttpResponse<object>>;
167
+ /**
168
+ * Constrói uma requisição com o método `delete`.
169
+ *
170
+ * @param {string} url URL da requisição.
171
+ * @param {Array<PoHeaderOption>} httpHeaders Cabeçalhos da requisição.
172
+ */
173
+ delete(url: string, httpHeaders?: Array<PoHttpHeaderOption>): Observable<HttpResponse<object>>;
174
+ /**
175
+ * Constrói uma requisição com o método `get`.
176
+ *
177
+ * @param {string} url URL da requisição.
178
+ * @param {Array<PoHeaderOption>} httpHeaders Cabeçalhos da requisição.
179
+ */
180
+ get(url: string, httpHeaders?: Array<PoHttpHeaderOption>): Observable<HttpResponse<object>>;
181
+ /**
182
+ * Constrói uma requisição com o método `head`.
183
+ *
184
+ * @param {string} url URL da requisição.
185
+ * @param {Array<PoHeaderOption>} httpHeaders Cabeçalhos da requisição.
186
+ */
187
+ head(url: string, httpHeaders?: Array<PoHttpHeaderOption>): Observable<HttpResponse<object>>;
188
+ /**
189
+ * Constrói uma requisição com o método `options`.
190
+ *
191
+ * @param {string} url URL da requisição.
192
+ * @param {Array<PoHeaderOption>} httpHeaders Cabeçalhos da requisição.
193
+ */
194
+ options(url: string, httpHeaders?: Array<PoHttpHeaderOption>): Observable<HttpResponse<object>>;
195
+ /**
196
+ * Constrói uma requisição com o método `patch`.
197
+ *
198
+ * @param {string} url URL da requisição.
199
+ * @param {any} body Corpo da requisição.
200
+ * @param {Array<PoHeaderOption>} httpHeaders Cabeçalhos da requisição.
201
+ */
202
+ patch(url: string, body?: any, httpHeaders?: Array<PoHttpHeaderOption>): Observable<HttpResponse<object>>;
203
+ /**
204
+ * Constrói uma requisição com o método `post`.
205
+ *
206
+ * @param {string} url URL da requisição.
207
+ * @param {any} body Corpo da requisição.
208
+ * @param {Array<PoHeaderOption>} httpHeaders Cabeçalhos da requisição.
209
+ */
210
+ post(url: string, body?: any, httpHeaders?: Array<PoHttpHeaderOption>): Observable<HttpResponse<object>>;
211
+ /**
212
+ * Constrói uma requisição com o método `put`.
213
+ *
214
+ * @param {string} url URL da requisição.
215
+ * @param {any} body Corpo da requisição.
216
+ * @param {Array<PoHeaderOption>} httpHeaders Cabeçalhos da requisição.
217
+ */
218
+ put(url: string, body?: any, httpHeaders?: Array<PoHttpHeaderOption>): Observable<HttpResponse<object>>;
219
+ private createHttpHeaders;
220
+ static ɵfac: i0.ɵɵFactoryDeclaration<PoHttpClientService, never>;
221
+ static ɵprov: i0.ɵɵInjectableDeclaration<PoHttpClientService>;
222
+ }
223
+
224
+ /**
225
+ * @usedBy PoSyncService
226
+ *
227
+ * @description
228
+ *
229
+ * Interface que irá mapear as configurações dos campos do `PoSyncSchema`.
230
+ */
231
+ interface PoSyncFieldOptions {
232
+ /** Propriedade que informa o nome do campo. */
233
+ readonly name: string;
234
+ /** Propriedade que informa se o campo será apenas para armazenamento local
235
+ * ou se deve ser enviado para o servidor.
236
+ */
237
+ readonly local?: boolean;
238
+ }
239
+
240
+ /**
241
+ * @usedBy PoSyncService
242
+ *
243
+ * @description
244
+ *
245
+ * Interface que irá mapear as informações dos recursos, principalmente sua origem e as informações que serão retornadas.
246
+ */
247
+ interface PoSyncSchema {
248
+ /** Nome da propriedade que informa a data de criação do registro. */
249
+ readonly createdAtField?: string;
250
+ /** Nome da propriedade que informa a data de deleção. */
251
+ readonly deletedAtField?: string;
252
+ /** Nome da propriedade que informa se o registro foi excluído. */
253
+ readonly deletedField: string;
254
+ /** Endereço do endpoint para excluir registros. */
255
+ readonly deleteUrlApi?: string;
256
+ /** Endereço do endpoint que proverá apenas dados alterados no servidor. */
257
+ readonly diffUrlApi: string;
258
+ /** Campos que serão retornados pela API. */
259
+ readonly fields: Array<string | PoSyncFieldOptions>;
260
+ /** Endereço do endpoint que utiliza o método GET que proverá os dados. */
261
+ readonly getUrlApi: string;
262
+ /** Nome da propriedade referente ao identificador único para os itens do *schema*. */
263
+ readonly idField: string;
264
+ /** Identifição para representar o *schema*. */
265
+ readonly name: string;
266
+ /** Quantidade de itens por página que será enviado pela API. */
267
+ readonly pageSize: number;
268
+ /** Endereço do endpoint que utiliza o método PUT para atualizar registros. */
269
+ readonly patchUrlApi?: string;
270
+ /** Endereço do endpoint que utiliza o método POST para incluir os registros. */
271
+ readonly postUrlApi?: string;
272
+ /** Nome da propriedade que informa a data de atualização do registro. */
273
+ readonly updatedAtField?: string;
274
+ lastSync?: string;
275
+ }
276
+
277
+ /**
278
+ * @docsPrivate
279
+ *
280
+ * @description
281
+ *
282
+ * Serviço que disponibiliza métodos que permite operar sobre as definições dos *schemas*.
283
+ */
284
+ declare class PoSchemaDefinitionService {
285
+ private poStorage;
286
+ constructor(poStorage: PoStorageService);
287
+ /**
288
+ * Destrói a chave do *storage* que contém as definições dos *schemas*.
289
+ *
290
+ * > Para que não venham ocorrer erros em ações que dependam das definições dos *schemas*,
291
+ * recomenda-se utilizar o método `prepare()` em seguida.
292
+ *
293
+ * @returns {Promise<void>} Promessa que é resolvida quando a chave referente as definições dos *schemas* for destruída.
294
+ */
295
+ destroy(): Promise<void>;
296
+ /**
297
+ * Busca um *schema* a partir do nome informado.
298
+ *
299
+ * @param {string} schemaName Nome do *schema*.
300
+ * @returns {Promise<PoSyncSchema>} Promessa que é resolvida quando o *schema* for retornado.
301
+ */
302
+ get(schemaName: string): Promise<PoSyncSchema>;
303
+ /**
304
+ * Retorna uma promessa com a lista dos *schemas* definidos.
305
+ *
306
+ * @returns {Promise<Array<PoSyncSchema>>} Promessa que é resolvida quando a lista dos *schemas* definidos for retornada.
307
+ */
308
+ getAll(): Promise<Array<PoSyncSchema>>;
309
+ /**
310
+ * Salva uma lista de *schemas*.
311
+ *
312
+ * @param {Array<PoSyncSchema>} schemas Lista de schemas que serão salvos.
313
+ * @returns {Promise<Array<PoSyncSchema>>} Promessa que é resolvida quando a lista de *schemas* for salva.
314
+ */
315
+ saveAll(schemas: Array<PoSyncSchema>): Promise<Array<PoSyncSchema>>;
316
+ /**
317
+ * Atualiza um *schema* a partir do *schema name*.
318
+ *
319
+ * @param {PoSyncSchema} updatedSchema **Schema* que será atualizado.
320
+ */
321
+ update(updatedSchema: PoSyncSchema): Promise<PoSyncSchema[]>;
322
+ static ɵfac: i0.ɵɵFactoryDeclaration<PoSchemaDefinitionService, never>;
323
+ static ɵprov: i0.ɵɵInjectableDeclaration<PoSchemaDefinitionService>;
324
+ }
325
+
326
+ /**
327
+ * @docsPrivate
328
+ *
329
+ * @description
330
+ *
331
+ * Serviço que realiza as operações nos `schemas`.
332
+ */
333
+ declare class PoSchemaService {
334
+ private poSchemaDefinitionService;
335
+ private poStorage;
336
+ constructor(poSchemaDefinitionService: PoSchemaDefinitionService, poStorage: PoStorageService);
337
+ /**
338
+ * Retorna o id a partir de uma chave de um *schema*.
339
+ *
340
+ * @param {string} schemaKey Chave do *schema* em que será realizada a busca do id.
341
+ */
342
+ private static getIdByRecordKey;
343
+ /**
344
+ * Retorna a chave do *schema* informado.
345
+ *
346
+ * @param {string} schemaName Nome do *schema*.
347
+ * @param {any} recordId Id do registro.
348
+ * @param {boolean} isLocalKey Indica se é uma chave local.
349
+ */
350
+ private static getRecordKey;
351
+ /**
352
+ * Verifica se o dado informado é uma chave de um *schema*.
353
+ *
354
+ * @param {string} data Dado que será verificado se é uma chave de um *schema*.
355
+ * @param {string} schemaName Nome do *schema*.
356
+ */
357
+ private static isSchemaKey;
358
+ /**
359
+ * Cria um novo registro para o *schema* informado.
360
+ *
361
+ * @param {PoSyncSchema} schema **Schema* em que será criado o registro.
362
+ * @param {object} newRecord Registro que será criado.
363
+ */
364
+ create(schema: PoSyncSchema, newRecord: object): Promise<object>;
365
+ /**
366
+ * Destrói as chaves do *storage* que contém os registros dos *schemas*.
367
+ *
368
+ * @returns {Promise<void>} Promessa que é resolvida quando as chaves referentes aos *schemas* forem destruídas.
369
+ */
370
+ destroySchemasRecords(): Promise<void>;
371
+ /**
372
+ * Retorna o registro referente ao *schema* informado.
373
+ *
374
+ * @param {string} schemaName Nome do *schema*.
375
+ * @param {any} recordId Id do registro.
376
+ */
377
+ get(schemaName: string, recordId: any): Promise<object>;
378
+ /**
379
+ * Retorna todos os registros referente ao *schema* informado.
380
+ *
381
+ * @param {string} schemaName Nome do *schema*.
382
+ */
383
+ getAll(schemaName: string): Promise<Array<object>>;
384
+ /**
385
+ * Aguarda a liberação do recurso limitado, posteriormente o envolve em um comportamento
386
+ * de bloqueio e desbloqueio.
387
+ *
388
+ * @param {Function} limitedResource Função que será envolvida no comportamento de bloqueio e desbloqueio.
389
+ */
390
+ limitedCallWrap(limitedResource: Function): Promise<any>;
391
+ /**
392
+ * Remove um registro de um *schema* informado.
393
+ *
394
+ * @param {string} schemaName Nome do *schema*.
395
+ * @param {any} recordId Id do registro.
396
+ */
397
+ remove(schemaName: string, recordId: any): Promise<any>;
398
+ /**
399
+ * Atualiza um registro de um *schema* informado.
400
+ *
401
+ * @param {PoSyncSchema} schema **Schema* referente ao registro que será alterado.
402
+ * @param {object} record Registro que será atualizado.
403
+ * @param {any} recordId Id do registro que deseja ser alterado. Deve ser utilizado em casos em que o id foi alterado.
404
+ */
405
+ update(schema: PoSyncSchema, record: object, recordId?: any): Promise<object>;
406
+ /**
407
+ * Atualiza todos os registros de um *schema*.
408
+ *
409
+ * @param {PoSyncSchema} schema **Schema* referente aos registros que serão alterados.
410
+ * @param {Array<object>} records Lista de registros que serão alterados.
411
+ */
412
+ updateAll(schema: PoSyncSchema, records: Array<object>): Promise<void>;
413
+ private getRecord;
414
+ private save;
415
+ private saveLocalFields;
416
+ private updateRecordId;
417
+ static ɵfac: i0.ɵɵFactoryDeclaration<PoSchemaService, never>;
418
+ static ɵprov: i0.ɵɵInjectableDeclaration<PoSchemaService>;
419
+ }
420
+
421
+ /**
422
+ * @usedBy PoSyncConfig, PoNetworkStatus
423
+ *
424
+ * @description
425
+ *
426
+ * Tipos de rede existentes no dispositivo.
427
+ */
428
+ declare enum PoNetworkType {
429
+ /** Define o tipo de rede como desconhecido (`unknown`). */
430
+ unknown = 0,
431
+ /** Define o tipo de rede como `Ethernet`. */
432
+ ethernet = 1,
433
+ /** Define o tipo de rede como `WiFi`. */
434
+ wifi = 2,
435
+ /** Define o tipo de rede como `2G`. */
436
+ _2g = 3,
437
+ /** Define o tipo de rede como `3G`. */
438
+ _3g = 4,
439
+ /** Define o tipo de rede como `4G`. */
440
+ _4g = 5,
441
+ /**
442
+ * Define o tipo de rede como `cellular`. Isso acontece na utilização dos navegadores
443
+ * dentro do dispositvo móvel, com exceção do *web view*.
444
+ */
445
+ cellular = 6,
446
+ /** Define o tipo de rede como `none`. */
447
+ none = 7
448
+ }
449
+
450
+ /**
451
+ * @usedBy PoSyncService
452
+ *
453
+ * @description
454
+ *
455
+ * Interface para a definição das configurações do sincronismo.
456
+ */
457
+ interface PoSyncConfig {
458
+ /**
459
+ * Classe usada para a trasformação dos dados nas requisições.
460
+ *
461
+ * > Veja mais detalhes em [Fundamentos do PO Sync - Adaptando a resposta da API para o padrão do PO UI](/guides/sync-fundamentals).
462
+ */
463
+ dataTransform?: PoDataTransform;
464
+ /**
465
+ * Tempo em segundos do sicronismo periódico.
466
+ * Caso não seja definido, o sincronismo periódico estará desabilitado.
467
+ */
468
+ period?: number;
469
+ /** Tipos de conexões permitidas para o sincronismo. */
470
+ type: PoNetworkType | Array<PoNetworkType>;
471
+ }
472
+
473
+ /**
474
+ * @description
475
+ *
476
+ * Classe que define a resposta de erro para um item da fila de eventos que não foi enviado ao servidor por
477
+ * alguma inconsistência.
478
+ *
479
+ * > Pode ser utilizada em casos onde um item da fila é enviado ao servidor com inconsistência nos dados, por exemplo
480
+ * uma operação de *delete* ou *update* sem o `id` do objeto.
481
+ */
482
+ declare class PoEventSourcingErrorResponse {
483
+ /** Mensagem de erro. */
484
+ message: string;
485
+ /** Operação que havia sido requisitada. */
486
+ operation: PoEventSourcingOperation;
487
+ constructor({ message, operation }: {
488
+ message: any;
489
+ operation: any;
490
+ });
491
+ }
492
+
493
+ /**
494
+ * @usedBy PoSyncService
495
+ *
496
+ * @description
497
+ *
498
+ * Define a resposta dos eventos enviados ao servidor.
499
+ */
500
+ interface PoSyncResponse {
501
+ /** Identificador do evento na fila. */
502
+ id: number;
503
+ /** Identificador customizado do registro. */
504
+ customRequestId?: string;
505
+ /** Dados da requisição. */
506
+ request: PoHttpRequestData;
507
+ /** Resposta retornada após a tentativa de envio para o servidor. */
508
+ response: HttpResponse<object> | HttpErrorResponse | PoEventSourcingErrorResponse;
509
+ }
510
+
511
+ declare class PoEventSourcingService {
512
+ private poSchemaDefinition;
513
+ private poSchemaService;
514
+ private poStorage;
515
+ private poHttpClient;
516
+ static readonly event_sourcing_name: string;
517
+ private static readonly VALID_HTTP_STATUS_CODES;
518
+ config: PoSyncConfig;
519
+ stoppedQueueEventSourcing: boolean;
520
+ private emitter;
521
+ private eventSub;
522
+ private responseSubject;
523
+ private schemasSyncConfig;
524
+ constructor(poSchemaDefinition: PoSchemaDefinitionService, poSchemaService: PoSchemaService, poStorage: PoStorageService, poHttpClient: PoHttpClientService);
525
+ private static getUrl;
526
+ create(schemaName: string, newItem: any, customRequestId?: string): Promise<any>;
527
+ createBatchEvents(schemaName: string, eventList: Array<PoEventSourcingSummaryItem>): Promise<void>;
528
+ /**
529
+ * Destrói a chave do *storage* que contém a fila de dados que estão esperando para serem enviados ao
530
+ * servidor *(EventSourcing)*.
531
+ *
532
+ * @returns {Promise<void>} Promessa que é resolvida quando a chave referente a fila de *EventSourcing* for destruída.
533
+ */
534
+ destroyEventSourcingQueue(): Promise<void>;
535
+ httpCommand(httpOperationData: PoHttpRequestData, customRequestId?: string): Promise<number>;
536
+ responsesSubject(): Observable<PoSyncResponse>;
537
+ onSaveData(): Observable<null>;
538
+ remove(schemaName: string, itemToDelete: any, customRequestId?: string): Promise<any>;
539
+ removeEventSourcingItem(idEventSourcingItem: any): Promise<any>;
540
+ syncGet(): Promise<any>;
541
+ syncSend(): Promise<any>;
542
+ update(schemaName: string, itemUpdated: any, customRequestId?: string): Promise<any>;
543
+ private serializeBody;
544
+ private buildUrlParams;
545
+ private checkRecordIdExists;
546
+ private concatPageItems;
547
+ private createEventSourcingItem;
548
+ private createEventSourcingList;
549
+ private createSchemaSyncConfig;
550
+ private deleteOperation;
551
+ private diffServerItems;
552
+ private getBodyAndDate;
553
+ private getServerDiffRecords;
554
+ private httpOperation;
555
+ private insertEventSourcingQueue;
556
+ private insertOperation;
557
+ private isValidStatus;
558
+ private notifyEventCreation;
559
+ private paginateSchemaData;
560
+ private removeEventSourcingValidItem;
561
+ private selectOperation;
562
+ private sendResponseSubject;
563
+ private sendServerItem;
564
+ private createPoHttpRequestData;
565
+ private createFormData;
566
+ private updateOperation;
567
+ private updatePendingEventSourcing;
568
+ private updateRecords;
569
+ private updateRecordByServerRecord;
570
+ private updateStorageBySchema;
571
+ private updateStorageSchemas;
572
+ static ɵfac: i0.ɵɵFactoryDeclaration<PoEventSourcingService, never>;
573
+ static ɵprov: i0.ɵɵInjectableDeclaration<PoEventSourcingService>;
574
+ }
575
+
576
+ /**
577
+ * @usedBy PoQueryBuilder
578
+ *
579
+ * @description
580
+ *
581
+ * Interface que representa a estrutura de resposta de uma coleção de itens.
582
+ *
583
+ */
584
+ interface PoResponseApi {
585
+ /** Lista de itens retornados. */
586
+ items: Array<object>;
587
+ /** Indica se existe uma próxima página com mais registros para aquela coleção de itens. */
588
+ hasNext: boolean;
589
+ }
590
+
591
+ /**
592
+ * @description
593
+ *
594
+ * Classe utilitária para construir consultas sobre os registros de um *schema*.
595
+ *
596
+ * A utilização dos métodos desta classe é feita a partir do retorno do método `PoEntity.find()`. Por exemplo,
597
+ * para utilizar o método `PoQueryBuilder.page()`, é necessário:
598
+ *
599
+ * ``` typescript
600
+ * PoSyncService.getModel('schema name').find().page(2).exec();
601
+ * ```
602
+ *
603
+ * O `PoQueryBuilder` foi projetado para que os seus métodos sejam
604
+ * chamados em cascata e ao final desse encadeamento invocar o método
605
+ * `PoQueryBuilder.exec()` para que a busca seja concluída. Por exemplo:
606
+ *
607
+ * ``` typescript
608
+ * PoSyncService
609
+ * .getModel('schema name')
610
+ * .find()
611
+ * .page(2)
612
+ * .pageSize(5)
613
+ * .sort()
614
+ * .exec();
615
+ * ```
616
+ */
617
+ declare class PoQueryBuilder {
618
+ private poSchemaService;
619
+ private schema;
620
+ private fields;
621
+ private filters;
622
+ private _limit;
623
+ private _page;
624
+ private _pageSize;
625
+ private _sort;
626
+ constructor(poSchemaService: PoSchemaService, schema: PoSyncSchema);
627
+ /**
628
+ * Ao final da chamada dos métodos do `PoQueryBuilder` utilizados, este método deve ser chamado para que a busca seja concluída.
629
+ *
630
+ * @return {Promise<PoResponseApi | object>} Registros do *schema* na qual foi aplicado a consulta.
631
+ */
632
+ exec(): Promise<PoResponseApi | object>;
633
+ /**
634
+ * Aplica filtros sobre os registros, baseados nos campos e valores definidos como filtro. Por exemplo:
635
+ *
636
+ * ```
637
+ * PoQueryBuilder.filter({ name: 'Marie', age: 24 });
638
+ * ```
639
+ * Retorna todos os registros que contenham a propriedade `name` igual a Marie e `age` igual a 24.
640
+ *
641
+ * @param {object} filter Objeto que contém os campos e valores a serem filtrados no *schema*.
642
+ *
643
+ * @returns {PoQueryBuilder} Objeto que possibilita encadear um novo método do `PoQueryBuilder`.
644
+ */
645
+ filter(filter?: object): PoQueryBuilder;
646
+ /**
647
+ * Limita o número de registros que serão retornados.
648
+ *
649
+ * @param {number} limit Número de registros retornados.
650
+ * @returns {PoQueryBuilder} Objeto que possibilita encadear um novo método do `PoQueryBuilder`.
651
+ */
652
+ limit(limit: number): PoQueryBuilder;
653
+ /**
654
+ * Especifica a página de registros que se deseja retornar.
655
+ *
656
+ * @param {number} page Número da página.
657
+ * @returns {PoQueryBuilder} Objeto que possibilita encadear um novo método do `PoQueryBuilder`.
658
+ */
659
+ page(page: number): PoQueryBuilder;
660
+ /**
661
+ * Define quantos elementos serão retornados por página.
662
+ *
663
+ * @param {number} pageSize Número de registros por página.
664
+ * @returns {PoQueryBuilder} Objeto que possibilita encadear um novo método do `PoQueryBuilder`.
665
+ */
666
+ pageSize(pageSize: number): PoQueryBuilder;
667
+ /**
668
+ * Utilizado para definir quais campos do *schema* serão retornados na consulta.
669
+ *
670
+ * @param {string} fields Campos que serão retornados nos registros. Este campos devem estar dentro de
671
+ * uma *string* separados por espaço podendo usar o caractere `-` para excluir campos.
672
+ * Por exemplo, a definição abaixo:
673
+ *
674
+ * ```
675
+ * PoQueryBuilder.select('name age address');
676
+ * ```
677
+ * Irá retornar apenas os campos `name`, `age` e `address`. Para não retornar um campo ou mais basta fazer:
678
+ *
679
+ * ```
680
+ * PoQueryBuilder.select('-name -age');
681
+ * ```
682
+ *
683
+ * @returns {PoQueryBuilder} Objeto que possibilita encadear um novo método do `PoQueryBuilder`.
684
+ */
685
+ select(fields: string): PoQueryBuilder;
686
+ /**
687
+ * Ordena os registros por um campo.
688
+ *
689
+ * @param {string} field Campo a ser ordenado. Para ordenar de forma decrescente basta colocar o caractere `-`
690
+ * na frente do campo. Por exemplo:
691
+ * ```
692
+ * PoQueryBuilder.sort('-name');
693
+ * ```
694
+ *
695
+ * @returns {PoQueryBuilder} Objeto que possibilita encadear um novo método do `PoQueryBuilder`.
696
+ */
697
+ sort(field: string): PoQueryBuilder;
698
+ /**
699
+ * Essa função serve como alias para o `PoQueryBuilder.filter()`. É utilizada somente para dar maior legibilidade ao código.
700
+ *
701
+ * @param {object} filter Objeto que contém os campos e valores a serem filtrados no *schema*.
702
+ * @returns {PoQueryBuilder} Objeto que possibilita encadear um novo método do `PoQueryBuilder`.
703
+ */
704
+ where(filter: object): PoQueryBuilder;
705
+ private applyFields;
706
+ private applyFilters;
707
+ private groupFields;
708
+ private paginate;
709
+ private order;
710
+ private removeDuplicate;
711
+ private removeFieldsData;
712
+ private removeRestrictedFields;
713
+ }
714
+
715
+ /**
716
+ * @description
717
+ *
718
+ * Uma instância `PoEntity` representa um *schema* e ela contém métodos que possibilitam manipular seus registros,
719
+ * como por exemplo: buscar, criar e remover.
720
+ *
721
+ * Esta instância pode ser obtida a partir do retorno do método `PoSyncService.getModel('schema name')`.
722
+ */
723
+ declare class PoEntity {
724
+ private eventSourcing;
725
+ private schema;
726
+ private poSchemaService;
727
+ constructor(eventSourcing: PoEventSourcingService, schema: PoSyncSchema, poSchemaService: PoSchemaService);
728
+ /**
729
+ * Busca os registros do *schema*, podendo filtrar o resultado a partir do filtro passado e retornando apenas
730
+ * os campos definidos.
731
+ *
732
+ * Para que esta busca seja concluída é necessário utilizar o método `PoQueryBuilder.exec()`.
733
+ * Veja mais em: [PoQueryBuilder](/documentation/po-query-builder).
734
+ *
735
+ * @param {object} filter Objeto que contém os campos e valores a serem filtrados no *schema*.
736
+ * @param {string} fields Campos que serão retornados nos registros. Este campos devem estar dentro de
737
+ * uma *string* separados por espaço podendo usar o caractere `-` para excluir campos.
738
+ * Por exemplo, a definição abaixo:
739
+ *
740
+ * ```
741
+ * PoQueryBuilder.select('name age address');
742
+ * ```
743
+ * Irá retornar apenas os campos `name`, `age` e `address`. E para não mostrar um campo ou mais basta fazer:
744
+ *
745
+ * ```
746
+ * PoQueryBuilder.select('-name -age');
747
+ * ```
748
+ * @returns {PoQueryBuilder} Objeto que possibilita encadear um método do `PoQueryBuilder`.
749
+ */
750
+ find(filter?: object, fields?: string): PoQueryBuilder;
751
+ /**
752
+ * Busca um registro pelo seu *id*.
753
+ *
754
+ * Para que esta busca seja concluída é necessário utilizar o método `PoQueryBuilder.exec()`.
755
+ * Veja mais em: [PoQueryBuilder](/documentation/po-query-builder).
756
+ *
757
+ * @param {any} id Identificador do registro.
758
+ * @param {string} fields Campos que serão retornados nos registros. Este campos devem estar dentro de
759
+ * uma *string* separados por espaço podendo usar o caractere `-` para excluir campos.
760
+ * Por exemplo, a definição abaixo:
761
+ *
762
+ * ```
763
+ * PoQueryBuilder.select('name age address');
764
+ * ```
765
+ * Irá retornar apenas os campos `name`, `age` e `address`. E para não mostrar um campo ou mais basta fazer:
766
+ *
767
+ * ```
768
+ * PoQueryBuilder.select('-name -age');
769
+ * ```
770
+ * @returns {PoQueryBuilder} Objeto que possibilita encadear um método do `PoQueryBuilder`.
771
+ */
772
+ findById(id: any, fields?: string): PoQueryBuilder;
773
+ /**
774
+ * Semelhante ao método `PoEntity.find()`, porém retorna apenas o primeiro registro encontrado na busca.
775
+ *
776
+ * Para que esta busca seja concluída é necessário utilizar o método `PoQueryBuilder.exec()`.
777
+ * Veja mais em: [PoQueryBuilder](/documentation/po-query-builder).
778
+ *
779
+ * @param {any} filter Objeto que contém os campos e valores a serem filtrados no *schema*.
780
+ * @param {string} fields Campos que serão retornados nos registros. Este campos devem estar dentro de
781
+ * uma *string* separados por espaço podendo usar o caractere `-` para excluir campos.
782
+ * Por exemplo, a definição abaixo:
783
+ *
784
+ * ```
785
+ * PoQueryBuilder.select('name age address');
786
+ * ```
787
+ * Irá retornar apenas os campos `name`, `age` e `address`. E para não mostrar um campo ou mais basta fazer:
788
+ *
789
+ * ```
790
+ * PoQueryBuilder.select('-name -age');
791
+ * ```
792
+ * @returns {PoQueryBuilder} Objeto que possibilita encadear um método do `PoQueryBuilder`.
793
+ */
794
+ findOne(filter?: any, fields?: string): PoQueryBuilder;
795
+ /**
796
+ * Remove um registro.
797
+ *
798
+ * @param {object} record Registro que será removido.
799
+ * @param {string} customRequestId Identificador customizado do comando.
800
+ * @returns {Promise} Promessa que é concluída após o registro ser removido.
801
+ */
802
+ remove(record: object, customRequestId?: string): Promise<any>;
803
+ /**
804
+ * Altera ou inclui um registro.
805
+ *
806
+ * > O registro será alterado se ele possuir um *id*, caso contrário um novo registro será criado.
807
+ *
808
+ * @param {object} record Registro que será persistido.
809
+ * @param {string} customRequestId Identificador customizado do comando.
810
+ * @returns {Promise} Promessa que é concluída após o registro ser alterado ou incluído.
811
+ */
812
+ save(record: object, customRequestId?: string): Promise<any>;
813
+ /**
814
+ * Salva uma lista de registros em lote.
815
+ *
816
+ * > Para cada registro da lista, será inserido um novo registro se o mesmo não tiver *id*, caso contrário
817
+ * será contado como uma atualização de um registro existente.
818
+ *
819
+ * @param {Array<object>} records Lista de registros que serão persistidos.
820
+ * @param {Array<string> | string} customRequestIds Identificador customizado do comando.
821
+ *
822
+ * Ao passar uma lista de identificadores, cada índice da lista de identificadores deverá
823
+ * corresponder ao índice do registro na lista de registros.
824
+ * @returns {Promise<any>} Promessa que é concluída após os registros serem alterados ou incluídos.
825
+ */
826
+ saveAll(records: Array<object>, customRequestIds?: Array<string> | string): Promise<any>;
827
+ private create;
828
+ private createEventOperation;
829
+ private isNonLocalRecordChanged;
830
+ private selectSaveType;
831
+ private update;
832
+ }
833
+
834
+ /**
835
+ * @description
836
+ *
837
+ * Classe responsável por identificar a conexão de rede disponível no dispositivo.
838
+ */
839
+ declare class PoNetworkStatus {
840
+ private _type;
841
+ constructor(networtkType: any);
842
+ /**
843
+ * Retorna se o dispositivo está conectado na rede.
844
+ *
845
+ * @returns {boolean} Status da conexão com a rede.
846
+ */
847
+ get status(): boolean;
848
+ /**
849
+ * Retorna o tipo de conexão do dispositivo.
850
+ *
851
+ * @returns {PoNetworkType} Tipo da conexão com a rede.
852
+ */
853
+ get type(): PoNetworkType;
854
+ set type(type: PoNetworkType);
855
+ private setDefaultTypeNavigation;
856
+ private setNetworkConnection;
857
+ }
858
+
859
+ /**
860
+ * @description
861
+ *
862
+ * O `PoNetworkService` é utilizado para verificar o status e o tipo da conexão de rede do dispositivo.
863
+ */
864
+ declare class PoNetworkService {
865
+ private networkType;
866
+ private networkTypeNow;
867
+ private poNetworkStatus;
868
+ constructor();
869
+ /**
870
+ * Retorna as propriedades tipo e status da conexão do dispositivo no momento da chamada.
871
+ *
872
+ * @returns {PoNetworkStatus} Instância de [PoNetworkStatus](/documentation/po-network-status) com as
873
+ * propriedades da conexão.
874
+ */
875
+ getConnectionStatus(): PoNetworkStatus;
876
+ /**
877
+ * Notifica as mudanças no tipo de conexão de rede do dispositivo.
878
+ *
879
+ * @returns {Observable<{ status: boolean, type: string }>} Observable com as propriedades da conexão.
880
+ */
881
+ onChange(): Observable<{
882
+ status: boolean;
883
+ type: string;
884
+ }>;
885
+ private initNetwork;
886
+ private getStatus;
887
+ private initSubscriber;
888
+ static ɵfac: i0.ɵɵFactoryDeclaration<PoNetworkService, never>;
889
+ static ɵprov: i0.ɵɵInjectableDeclaration<PoNetworkService>;
890
+ }
891
+
892
+ /**
893
+ * @description
894
+ *
895
+ * O `PoSyncService` é utilizado para configurar toda a base de dados que receberá as informações que serão
896
+ * armazenadas *offline* vindas do servidor. Nele ocorre toda a preparação dos modelos de dados retornados por
897
+ * cada consulta.
898
+ */
899
+ declare class PoSyncService {
900
+ private poEventSourcingService;
901
+ private poHttpClient;
902
+ private poNetworkService;
903
+ private poSchemaDefinitionService;
904
+ private poSchemaService;
905
+ models: Array<PoEntity>;
906
+ private config;
907
+ private emitter;
908
+ private eventSub;
909
+ private finishSyncSubject;
910
+ private isSyncEnabled;
911
+ private schemas;
912
+ private subscription;
913
+ private syncing;
914
+ private timer;
915
+ constructor(poEventSourcingService: PoEventSourcingService, poHttpClient: PoHttpClientService, poNetworkService: PoNetworkService, poSchemaDefinitionService: PoSchemaDefinitionService, poSchemaService: PoSchemaService);
916
+ /**
917
+ * Destrói todas as chaves do *storage* referentes ao `po-sync`, ou seja,
918
+ * as definições dos *schemas*, os registros de cada *schema* e a fila
919
+ * de eventos que estão para ser enviados ao servidor *(EventSourcing)*.
920
+ *
921
+ * > Para que não venham ocorrer erros em ações que dependam das definições dos *schemas*,
922
+ * recomenda-se utilizar o método `prepare()` em seguida.
923
+ *
924
+ * > Veja mais detalhes em [Fundamentos do PO Sync - Alterando as definições dos schemas](/guides/sync-fundamentals).
925
+ *
926
+ * @returns {Promise<any>} Promessa que é resolvida quando as chaves referentes ao `po-sync` forem destruídas.
927
+ */
928
+ destroy(): Promise<any>;
929
+ /**
930
+ * Desabilita todos os tipos de sincronização de dados (periódica, reativa e manual).
931
+ *
932
+ * > Para habilitar novamente a sincronização utilize o método [`PoSyncService.enableSync()`](documentation/po-sync#enable-sync).
933
+ */
934
+ disableSync(): void;
935
+ /**
936
+ * <a id="enable-sync"></a>
937
+ * Habilita todos os tipos de sincronização de dados (periódica, reativa e manual).
938
+ *
939
+ * Por padrão, sempre que se inicializa uma aplicação com PO Sync as sincronizações já estão habilitadas.
940
+ */
941
+ enableSync(): void;
942
+ /**
943
+ * Método que disponibiliza a partir de sua inscrição o evento de retorno das operações da fila de eventos que
944
+ * foram enviadas ao servidor. A cada operação enviada para o servidor, será disparado um evento para a inscrição
945
+ * deste método.
946
+ *
947
+ * > Veja mais detalhes em [Fundamentos do PO Sync - Capturando respostas da sincronização](/guides/sync-fundamentals).
948
+ *
949
+ * @returns {Observable<PoSyncResponse>} Observable com um objeto do tipo `PoSyncResponse`.
950
+ */
951
+ getResponses(): Observable<PoSyncResponse>;
952
+ /**
953
+ * Retorna uma instância de `PoEntity` para um determinado *schema*.
954
+ *
955
+ * > Veja mais detalhes em [Fundamentos do PO Sync - Manipulando os registros de um schema](/guides/sync-fundamentals).
956
+ *
957
+ * @param {string} schemaName Nome do *schema*.
958
+ * @returns {PoEntity} Objeto para efetuar consultas e alterações nos dados.
959
+ */
960
+ getModel(schemaName: string): PoEntity;
961
+ /**
962
+ * Insere uma requisição HTTP na fila de eventos do `po-sync`.
963
+ *
964
+ * > Veja mais detalhes em [Fundamentos do PO Sync - Inserindo requisições HTTP na fila de eventos](/guides/sync-fundamentals).
965
+ *
966
+ * @param {PoHttpRequestData} poHttpRequestData Dados da requisição HTTP.
967
+ * @param {string} customRequestId Identificador customizado da requisição HTTP.
968
+ * @returns {Promise<number>} Promessa com o identificador da requisição HTTP criada.
969
+ */
970
+ insertHttpCommand(requestData: PoHttpRequestData, customRequestId?: string): Promise<number>;
971
+ /**
972
+ * Efetua uma chamada na API do servidor para realizar a carga inicial dos dados. Deve ser chamado apenas uma vez
973
+ * na aplicação, após a preparação dos *schemas* realizada através do método `PoSyncService.prepare()`.
974
+ *
975
+ * > Veja mais detalhes em [Fundamentos do PO Sync - Carga inicial dos dados](/guides/sync-fundamentals).
976
+ *
977
+ * @returns {Observable<Array<{ entity: string, data: Array<any> }>>} Observable que notificará quando a
978
+ * carga inicial for concluída.
979
+ */
980
+ loadData(): Observable<Array<{
981
+ entity: string;
982
+ data: Array<any>;
983
+ }>>;
984
+ /**
985
+ * Responsável por notificar sempre que houver sincronismo.
986
+ *
987
+ * > Veja mais detalhes em [Fundamentos do PO Sync - Notificação pós-sincronização](/guides/sync-fundamentals).
988
+ *
989
+ * @returns {Observable<any>} Observable que é disparado a cada sincronismo realizado.
990
+ */
991
+ onSync(): Observable<any>;
992
+ /**
993
+ * Prepara a aplicação criando os schemas e aplica as configurações.
994
+ *
995
+ * > Veja mais detalhes em [Fundamentos do PO Sync - Preparando a aplicação](/guides/sync-fundamentals).
996
+ *
997
+ * @param {Array<PoSyncSchema>} schemas Lista de *schemas* a serem preparados.
998
+ * @param {PoSyncConfig} config Configurações adicionais.
999
+ * @returns {Promise<any>} Promessa que é resolvida quando a aplicação estiver preparada para a utilização do `po-sync`.
1000
+ */
1001
+ prepare(schemas: Array<PoSyncSchema>, config?: PoSyncConfig): Promise<any>;
1002
+ /**
1003
+ * Remove um item da fila de eventos que espera a sincronização.
1004
+ *
1005
+ * > Veja mais detalhes em [Fundamentos do PO Sync - Capturando respostas da sincronização](/guides/sync-fundamentals).
1006
+ *
1007
+ * @param {any} idEventSourcing Identificador do item da fila de eventos.
1008
+ * @returns {Promise<any>} Promessa que é resolvida quando o item da fila de eventos é removido.
1009
+ */
1010
+ removeItemOfSync(idEventSourcing: any): Promise<any>;
1011
+ /**
1012
+ * Reenvia os comandos pendentes na fila (inclusão, alteração e exclusão) e busca novos dados do servidor.
1013
+ *
1014
+ * > Veja mais detalhes em [Fundamentos do PO Sync - Capturando respostas da sincronização](/guides/sync-fundamentals).
1015
+ *
1016
+ * @returns {Promise<any>} Promessa que resolve o sincronismo disparado.
1017
+ */
1018
+ resumeSync(): Promise<any>;
1019
+ /**
1020
+ * Dispara o sincronismo enviando os eventos pendentes (inclusão, alteração e exclusão) e buscando novos dados do servidor.
1021
+ *
1022
+ * O sincronismo somente será executado depois que o acesso a base de dados local do dispositivo for liberada.
1023
+ *
1024
+ * > Veja mais detalhes em [Fundamentos do PO Sync - Sincronização manual](/guides/sync-fundamentals).
1025
+ *
1026
+ * @returns {Promise<any>} Promessa que é resolvida quando o sincronismo for finalizado.
1027
+ */
1028
+ sync(): Promise<any>;
1029
+ private canSync;
1030
+ private createSubscribe;
1031
+ private finishSync;
1032
+ private getOnePage;
1033
+ private loadEntityData;
1034
+ private reactiveSync;
1035
+ private saveSchemas;
1036
+ private startSync;
1037
+ private startTimer;
1038
+ private syncError;
1039
+ static ɵfac: i0.ɵɵFactoryDeclaration<PoSyncService, never>;
1040
+ static ɵprov: i0.ɵɵInjectableDeclaration<PoSyncService>;
1041
+ }
1042
+
1043
+ /**
1044
+ * @description
1045
+ *
1046
+ * Módulo do componente PoSync responsável pela sincronia de dados com backends
1047
+ */
1048
+ declare class PoSyncModule {
1049
+ static ɵfac: i0.ɵɵFactoryDeclaration<PoSyncModule, never>;
1050
+ static ɵmod: i0.ɵɵNgModuleDeclaration<PoSyncModule, never, never, never>;
1051
+ static ɵinj: i0.ɵɵInjectorDeclaration<PoSyncModule>;
1052
+ }
1053
+
1054
+ export { PoDataTransform, PoEntity, PoEventSourcingErrorResponse, PoEventSourcingService, PoHttpClientService, PoHttpRequestType, PoNetworkService, PoNetworkType, PoSyncModule, PoSyncService };
1055
+ export type { PoHttpRequestData, PoResponseApi, PoSyncConfig, PoSyncSchema };