1/*
2 * Copyright (c) 2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16/**
17 * @file
18 * @kit ArkData
19 */
20
21import { AsyncCallback, Callback } from './@ohos.base';
22import Context from './application/BaseContext';
23import dataSharePredicates from './@ohos.data.dataSharePredicates';
24import sendableRelationalStore from './@ohos.data.sendableRelationalStore';
25/**
26 * Provides methods for rdbStore create and delete.
27 *
28 * @namespace relationalStore
29 * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
30 * @since 9
31 */
32/**
33 * Provides methods for rdbStore create and delete.
34 *
35 * @namespace relationalStore
36 * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
37 * @crossplatform
38 * @since 10
39 */
40declare namespace relationalStore {
41  /**
42   * Describes the status of asset
43   *
44   * @enum { number }
45   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
46   * @crossplatform
47   * @since 10
48   */
49  enum AssetStatus {
50    /**
51     * ASSET_NORMAL: means the status of asset is normal.
52     *
53     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
54     * @crossplatform
55     * @since 10
56     */
57    ASSET_NORMAL,
58
59    /**
60     * ASSET_ABNORMAL: means the asset needs to be inserted.
61     *
62     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
63     * @crossplatform
64     * @since 10
65     */
66    ASSET_INSERT,
67
68    /**
69     * ASSET_ABNORMAL: means the asset needs to be updated.
70     *
71     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
72     * @crossplatform
73     * @since 10
74     */
75    ASSET_UPDATE,
76
77    /**
78     * ASSET_ABNORMAL: means the asset needs to be deleted.
79     *
80     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
81     * @crossplatform
82     * @since 10
83     */
84    ASSET_DELETE,
85
86    /**
87     * ASSET_ABNORMAL: means the status of asset is abnormal.
88     *
89     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
90     * @crossplatform
91     * @since 10
92     */
93    ASSET_ABNORMAL,
94
95    /**
96     * ASSET_DOWNLOADING: means the status of asset is downloading.
97     *
98     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
99     * @crossplatform
100     * @since 10
101     */
102    ASSET_DOWNLOADING
103  }
104
105  /**
106   * Records information of the asset.
107   *
108   * @interface Asset
109   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
110   * @crossplatform
111   * @since 10
112   */
113  interface Asset {
114    /**
115     * The name of asset.
116     *
117     * @type { string }
118     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
119     * @crossplatform
120     * @since 10
121     */
122    name: string;
123
124    /**
125     * The uri of asset.
126     *
127     * @type { string }
128     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
129     * @crossplatform
130     * @since 10
131     */
132    uri: string;
133
134    /**
135     * The path of asset.
136     *
137     * @type { string }
138     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
139     * @crossplatform
140     * @since 10
141     */
142    path: string;
143
144    /**
145     * The create time of asset.
146     *
147     * @type { string }
148     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
149     * @crossplatform
150     * @since 10
151     */
152    createTime: string;
153
154    /**
155     * The modify time of asset.
156     *
157     * @type { string }
158     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
159     * @crossplatform
160     * @since 10
161     */
162    modifyTime: string;
163
164    /**
165     * The size of asset.
166     *
167     * @type { string }
168     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
169     * @crossplatform
170     * @since 10
171     */
172    size: string;
173
174    /**
175     * The status of asset.
176     *
177     * @type { ?AssetStatus }
178     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
179     * @crossplatform
180     * @since 10
181     */
182    status?: AssetStatus;
183  }
184
185  /**
186   * Indicates several assets in one column
187   *
188   * @typedef { Asset[] } Assets
189   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
190   * @crossplatform
191   * @since 10
192   */
193  type Assets = Asset[];
194
195  /**
196   * Indicates possible value types
197   *
198   * @typedef { null | number | string | boolean | Uint8Array } ValueType
199   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
200   * @since 9
201   */
202  /**
203   * Indicates possible value types
204   *
205   * @typedef { null | number | string | boolean | Uint8Array | Asset | Assets } ValueType
206   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
207   * @crossplatform
208   * @since 10
209   */
210  /**
211   * Indicates possible value types
212   *
213   * @typedef { null | number | string | boolean | Uint8Array | Asset | Assets | Float32Array | bigint } ValueType
214   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
215   * @crossplatform
216   * @since 12
217   */
218  type ValueType = null | number | string | boolean | Uint8Array | Asset | Assets | Float32Array | bigint;
219
220  /**
221   * Values in buckets are stored in key-value pairs
222   *
223   * @typedef { Record<string, ValueType> } ValuesBucket
224   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
225   * @since 9
226   */
227  /**
228   * Values in buckets are stored in key-value pairs, move Uint8Array add to ValueType
229   *
230   * @typedef { Record<string, ValueType> } ValuesBucket
231   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
232   * @crossplatform
233   * @since 10
234   */
235  /**
236   * Values in buckets are stored in key-value pairs, change {[key: string]: ValueType;} to Record<string, ValueType>
237   *
238   * @typedef { Record<string, ValueType> } ValuesBucket
239   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
240   * @crossplatform
241   * @since 11
242   */
243  type ValuesBucket = Record<string, ValueType>;
244
245  /**
246   * The type of the priority key can be number or string
247   *
248   * @typedef { number | string } PRIKeyType
249   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
250   * @since 10
251   */
252  type PRIKeyType = number | string;
253
254  /**
255   * The time is in UTC format.
256   *
257   * @typedef { Date } UTCTime
258   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
259   * @since 10
260   */
261  type UTCTime = Date;
262
263  /**
264   * Indicates the primary key and UTC time of the modified rows.
265   *
266   * @typedef { Map<PRIKeyType, UTCTime> } ModifyTime
267   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
268   * @since 10
269   */
270  type ModifyTime = Map<PRIKeyType, UTCTime>;
271
272  /**
273   * Manages relational database configurations.
274   *
275   * @interface StoreConfig
276   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
277   * @since 9
278   */
279  /**
280   * Manages relational database configurations.
281   *
282   * @interface StoreConfig
283   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
284   * @crossplatform
285   * @since 10
286   */
287  interface StoreConfig {
288    /**
289     * The database name.
290     *
291     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
292     * @since 9
293     */
294    /**
295     * The database name.
296     *
297     * @type { string }
298     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
299     * @crossplatform
300     * @since 10
301     */
302    name: string;
303
304    /**
305     * Specifies the security level of the database.
306     *
307     * @type { SecurityLevel }
308     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
309     * @crossplatform
310     * @since 9
311     */
312    securityLevel: SecurityLevel;
313
314    /**
315     * Specifies whether the database is encrypted.
316     *
317     * @type { ?boolean }
318     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
319     * @since 9
320     */
321    encrypt?: boolean;
322
323    /**
324     * The data group id of application.
325     *
326     * @type { ?string }
327     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
328     * @StageModelOnly
329     * @since 10
330     */
331    dataGroupId?: string;
332
333    /**
334     * Specifies the directory relative to the database directory obtained from context
335     *
336     * @type { ?string }
337     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
338     * @crossplatform
339     * @since 11
340     */
341    customDir?: string;
342
343    /**
344     * Specifies whether to clean up dirty data that is synchronized to
345     * the local but deleted in the cloud.
346     *
347     * @type { ?boolean }
348     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
349     * @since 11
350     */
351    autoCleanDirtyData?: boolean;
352
353    /**
354     * Specifies whether data can be searched.
355     *
356     * @type { ?boolean }
357     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
358     * @systemapi
359     * @since 11
360     */
361    isSearchable?: boolean;
362
363    /**
364     * Specifies whether database allows rebuild.
365     *
366     * @type { ?boolean }
367     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
368     * @since 12
369     */
370    allowRebuild?: boolean;
371
372    /**
373     * Specifies whether the vector type is supported.
374     *
375     * @type { ?boolean }
376     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
377     * @systemapi
378     * @since 12
379     */
380    vector?: boolean;
381
382    /**
383     * Specifies whether the database opened is read-only.
384     * If isReadOnly is true, other configuration items will become invalid.
385     *
386     * @type { ?boolean }
387     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
388     * @since 12
389     */
390    isReadOnly?: boolean;
391
392    /**
393     * Indicates the names of the shared library containing fts etc.
394     *
395     * @type { ?Array<string> }
396     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
397     * @since 12
398     */
399    pluginLibs?: Array<string>;
400
401    /**
402     * Enumerates the high availability modes of the RDB store.
403     *
404     * @type { ?HAMode }
405     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
406     * @systemapi
407     * @since 12
408     */
409    haMode?: HAMode;
410
411    /**
412     * Specifies the cryptographic parameters used when opening an encrypted database.
413     *
414     * @type { ?CryptoParam }
415     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
416     * @since 14
417     */
418    cryptoParam?: CryptoParam;
419  }
420
421  /**
422   * Enumerates the high availability modes of the RDB store.
423   *
424   * @enum { number }
425   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
426   * @systemapi
427   * @since 12
428   */
429  enum HAMode {
430    /**
431     * SINGLE: Data is written to a single RDB store.
432     *
433     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
434     * @systemapi
435     * @since 12
436     */
437    SINGLE = 0,
438
439    /**
440     * MAIN_REPLICA: Data is written to the main and replica RDB stores.
441     *
442     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
443     * @systemapi
444     * @since 12
445     */
446    MAIN_REPLICA
447  }
448
449  /**
450   * Specifies the cryptographic parameters used when opening an encrypted database.
451   *
452   * @typedef CryptoParam
453   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
454   * @since 14
455   */
456  interface CryptoParam {
457    /**
458     * Specifies the key used when opening an encrypted database.
459     * When finished passing the key to the database, its content should be set to all-zero.
460     *
461     * @type { Uint8Array }
462     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
463     * @since 14
464     */
465    encryptionKey: Uint8Array;
466
467    /**
468     * Specifies the number of KDF iterations used when opening an encrypted database.
469     * Default number is 10000.
470     * When the number is set to 0, use default iteration number and encryption algorithm.
471     *
472     * @type { ?number }
473     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
474     * @since 14
475     */
476    iterationCount?: number;
477
478    /**
479     * Specifies the encryption algorithm when opening an encrypted database.
480     * Default encryption algorithm is AES_256_GCM.
481     *
482     * @type { ?EncryptionAlgo }
483     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
484     * @since 14
485     */
486    encryptionAlgo?: EncryptionAlgo;
487
488    /**
489     * Specifies the HMAC algorithm when opening an encrypted database.
490     * Default HMAC algorithm is SHA256.
491     *
492     * @type { ?HmacAlgo }
493     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
494     * @since 14
495     */
496    hmacAlgo?: HmacAlgo;
497
498    /**
499     * Specifies the KDF algorithm when opening an encrypted database.
500     * Default KDF SHA algorithm is the same as HMAC algorithm.
501     *
502     * @type { ?KdfAlgo }
503     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
504     * @since 14
505     */
506    kdfAlgo?: KdfAlgo;
507
508    /**
509     * Specifies the page size used when opening an encrypted database.
510     * Default crypto page size is 1024.
511     *
512     * @type { ?number }
513     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
514     * @since 14
515     */
516    cryptoPageSize?: number;
517  }
518
519  /**
520   * Enumerates the supported encryption algorithm when opening a database.
521   *
522   * @enum { number }
523   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
524   * @since 14
525   */
526  enum EncryptionAlgo {
527    /**
528     * AES_256_GCM: Database is encrypted using AES_256_GCM.
529     *
530     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
531     * @since 14
532     */
533    AES_256_GCM = 0,
534
535    /**
536     * AES_256_CBC: Database is encrypted using AES_256_CBC.
537     *
538     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
539     * @since 14
540     */
541    AES_256_CBC
542  }
543
544  /**
545   * Enumerates the supported HMAC algorithm when opening a database.
546   *
547   * @enum { number }
548   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
549   * @since 14
550   */
551  enum HmacAlgo {
552    /**
553     * SHA1: HMAC_SHA1 algorithm.
554     *
555     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
556     * @since 14
557     */
558    SHA1 = 0,
559
560    /**
561     * SHA256: HMAC_SHA256 algorithm.
562     *
563     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
564     * @since 14
565     */
566    SHA256,
567
568    /**
569     * SHA512: HMAC_SHA512 algorithm.
570     *
571     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
572     * @since 14
573     */
574    SHA512
575  }
576
577  /**
578   * Enumerates the supported KDF algorithm when opening a database.
579   *
580   * @enum { number }
581   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
582   * @since 14
583   */
584  enum KdfAlgo {
585    /**
586     * KDF_SHA1: PBKDF2_HMAC_SHA1 algorithm.
587     *
588     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
589     * @since 14
590     */
591    KDF_SHA1 = 0,
592
593    /**
594     * KDF_SHA256: PBKDF2_HMAC_SHA256 algorithm.
595     *
596     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
597     * @since 14
598     */
599    KDF_SHA256,
600
601    /**
602     * KDF_SHA512: PBKDF2_HMAC_SHA512 algorithm.
603     *
604     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
605     * @since 14
606     */
607    KDF_SHA512
608  }
609
610  /**
611   * The cloud sync progress
612   *
613   * @enum { number }
614   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
615   * @since 10
616   */
617  enum Progress {
618    /**
619     * SYNC_BEGIN: means the sync process begin.
620     *
621     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
622     * @since 10
623     */
624    SYNC_BEGIN,
625
626    /**
627     * SYNC_BEGIN: means the sync process is in progress
628     *
629     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
630     * @since 10
631     */
632    SYNC_IN_PROGRESS,
633
634    /**
635     * SYNC_BEGIN: means the sync process is finished
636     *
637     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
638     * @since 10
639     */
640    SYNC_FINISH
641  }
642
643  /**
644   * Describes the statistic of the cloud sync process.
645   *
646   * @interface Statistic
647   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
648   * @since 10
649   */
650  interface Statistic {
651    /**
652     * Describes the total number of data to sync.
653     *
654     * @type { number }
655     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
656     * @since 10
657     */
658    total: number;
659
660    /**
661     * Describes the number of successfully synced data.
662     *
663     * @type { number }
664     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
665     * @since 10
666     */
667    successful: number;
668
669    /**
670     * Describes the number of data failed to sync.
671     *
672     * @type { number }
673     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
674     * @since 10
675     */
676    failed: number;
677
678    /**
679     * Describes the number of data remained to sync.
680     *
681     * @type { number }
682     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
683     * @since 10
684     */
685    remained: number;
686  }
687
688  /**
689   * Describes the {@code Statistic} details of the table.
690   *
691   * @interface TableDetails
692   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
693   * @since 10
694   */
695  interface TableDetails {
696    /**
697     * Describes the {@code Statistic} details of the upload process.
698     *
699     * @type { Statistic }
700     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
701     * @since 10
702     */
703    upload: Statistic;
704
705    /**
706     * Describes the {@code Statistic} details of the download process.
707     *
708     * @type { Statistic }
709     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
710     * @since 10
711     */
712    download: Statistic;
713  }
714
715  /**
716   * Describes the status of {@code Progress}.
717   *
718   * @enum { number }
719   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
720   * @since 10
721   */
722  enum ProgressCode {
723    /**
724     * SUCCESS: means the status of progress is success.
725     *
726     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
727     * @since 10
728     */
729    SUCCESS,
730
731    /**
732     * UNKNOWN_ERROR: means the progress meets unknown error.
733     *
734     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
735     * @since 10
736     */
737    UNKNOWN_ERROR,
738
739    /**
740     * NETWORK_ERROR: means the progress meets network error.
741     *
742     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
743     * @since 10
744     */
745    NETWORK_ERROR,
746
747    /**
748     * CLOUD_DISABLED: means cloud is disabled.
749     *
750     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
751     * @since 10
752     */
753    CLOUD_DISABLED,
754
755    /**
756     * LOCKED_BY_OTHERS: means the progress is locked by others.
757     *
758     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
759     * @since 10
760     */
761    LOCKED_BY_OTHERS,
762
763    /**
764     * RECORD_LIMIT_EXCEEDED: means the record exceeds the limit.
765     *
766     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
767     * @since 10
768     */
769    RECORD_LIMIT_EXCEEDED,
770
771    /**
772     * NO_SPACE_FOR_ASSET: means the cloud has no space for the asset.
773     *
774     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
775     * @since 10
776     */
777    NO_SPACE_FOR_ASSET,
778
779    /**
780     * BLOCKED_BY_NETWORK_STRATEGY: means the sync blocked by network strategy.
781     *
782     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
783     * @since 12
784     */
785    BLOCKED_BY_NETWORK_STRATEGY
786  }
787
788  /**
789   * Describes detail of the cloud sync {@code Progress}.
790   *
791   * @interface ProgressDetails
792   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
793   * @since 10
794   */
795  interface ProgressDetails {
796    /**
797     * Describes the status of data sync progress.
798     *
799     * @type { Progress }
800     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
801     * @since 10
802     */
803    schedule: Progress;
804
805    /**
806     * Describes the code of data sync progress.
807     *
808     * @type { ProgressCode }
809     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
810     * @since 10
811     */
812    code: ProgressCode;
813
814    /**
815     * The statistic details of the tables.
816     *
817     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
818     * @since 10
819     */
820    /**
821     * The statistic details of the tables.
822     *
823     * @type { Record<string, TableDetails> }
824     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
825     * @since 11
826     */
827    details: Record<string, TableDetails>;
828  }
829
830  /**
831   * Defines information about the SQL statements executed.
832   *
833   * @interface SqlExecutionInfo
834   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
835   * @since 12
836   */
837  interface SqlExecutionInfo {
838    /**
839     * Array of SQL statements executed. When the args of batchInsert is too large, there may be more than one SQL.
840     *
841     * @type { Array<string> }
842     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
843     * @since 12
844     */
845    sql: Array<string>;
846
847    /**
848     * Total time used for executing the SQL statements, in μs.
849     *
850     * @type { number }
851     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
852     * @since 12
853     */
854    totalTime: number;
855
856    /**
857     * Maximum time allowed to obtain the SQL file handle, in μs.
858     *
859     * @type { number }
860     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
861     * @since 12
862     */
863    waitTime: number;
864
865    /**
866     * Time used to prepare SQL and args, in μs.
867     *
868     * @type { number }
869     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
870     * @since 12
871     */
872    prepareTime: number;
873
874    /**
875     * Time used to execute the SQL statements, in μs.
876     *
877     * @type { number }
878     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
879     * @since 12
880     */
881    executeTime: number;
882  }
883
884  /**
885   * Describes the {@code RdbStore} type.
886   *
887   * @enum { number }
888   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
889   * @crossplatform
890   * @since 9
891   */
892  enum SecurityLevel {
893    /**
894     * S1: means the db is low level security
895     * There are some low impact, when the data is leaked.
896     *
897     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
898     * @crossplatform
899     * @since 9
900     */
901    S1 = 1,
902
903    /**
904     * S2: means the db is middle level security
905     * There are some major impact, when the data is leaked.
906     *
907     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
908     * @crossplatform
909     * @since 9
910     */
911    S2 = 2,
912
913    /**
914     * S3: means the db is high level security
915     * There are some severity impact, when the data is leaked.
916     *
917     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
918     * @crossplatform
919     * @since 9
920     */
921    S3 = 3,
922
923    /**
924     * S4: means the db is critical level security
925     * There are some critical impact, when the data is leaked.
926     *
927     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
928     * @crossplatform
929     * @since 9
930     */
931    S4 = 4
932  }
933
934  /**
935   * Indicates the database synchronization mode.
936   *
937   * @enum { number }
938   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
939   * @since 9
940   */
941  enum SyncMode {
942    /**
943     * Indicates the data is pushed to remote device from local device.
944     *
945     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
946     * @since 9
947     */
948    SYNC_MODE_PUSH = 0,
949
950    /**
951     * Indicates the data is pulled from remote device to local device.
952     *
953     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
954     * @since 9
955     */
956    SYNC_MODE_PULL = 1,
957
958    /**
959     * Indicates the data is pulled from remote device to local device.
960     *
961     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
962     * @since 10
963     */
964    SYNC_MODE_TIME_FIRST,
965
966    /**
967     * Indicates force push the native data to the cloud.
968     *
969     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
970     * @since 10
971     */
972    SYNC_MODE_NATIVE_FIRST,
973
974    /**
975     * Indicates the data is pulled from cloud to local device.
976     *
977     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
978     * @since 10
979     */
980    SYNC_MODE_CLOUD_FIRST
981  }
982
983  /**
984   * Describes the subscription type.
985   *
986   * @enum { number }
987   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
988   * @since 9
989   */
990  enum SubscribeType {
991    /**
992     * Subscription to remote data changes
993     *
994     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
995     * @since 9
996     */
997    SUBSCRIBE_TYPE_REMOTE = 0,
998
999    /**
1000     * Subscription to cloud data changes
1001     *
1002     * @permission ohos.permission.DISTRIBUTED_DATASYNC
1003     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
1004     * @since 10
1005     */
1006    /**
1007     * Subscription to cloud data changes
1008     *
1009     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
1010     * @since 12
1011     */
1012    SUBSCRIBE_TYPE_CLOUD,
1013
1014    /**
1015     * Subscription to cloud data changes details
1016     *
1017     * @permission ohos.permission.DISTRIBUTED_DATASYNC
1018     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
1019     * @since 10
1020     */
1021    /**
1022     * Subscription to cloud data changes details
1023     *
1024     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
1025     * @since 12
1026     */
1027    SUBSCRIBE_TYPE_CLOUD_DETAILS,
1028
1029    /**
1030     * Subscription to local data changes details
1031     *
1032     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1033     * @since 12
1034     */
1035    SUBSCRIBE_TYPE_LOCAL_DETAILS
1036  }
1037
1038  /**
1039   * Describes the change type.
1040   *
1041   * @enum { number }
1042   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1043   * @since 10
1044   */
1045  enum ChangeType {
1046    /**
1047     * Means the change type is data change.
1048     *
1049     * @permission ohos.permission.DISTRIBUTED_DATASYNC
1050     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1051     * @since 10
1052     */
1053    /**
1054     * Means the change type is data change.
1055     *
1056     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1057     * @since 12
1058     */
1059    DATA_CHANGE,
1060
1061    /**
1062     * Means the change type is asset change.
1063     *
1064     * @permission ohos.permission.DISTRIBUTED_DATASYNC
1065     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1066     * @since 10
1067     */
1068    /**
1069     * Means the change type is asset change.
1070     *
1071     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1072     * @since 12
1073     */
1074    ASSET_CHANGE
1075  }
1076
1077  /**
1078   * Indicates the notify info
1079   *
1080   * @interface ChangeInfo
1081   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1082   * @since 10
1083   */
1084  interface ChangeInfo {
1085    /**
1086     * Indicates the changed table
1087     *
1088     * @type { string }
1089     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1090     * @since 10
1091     */
1092    table: string;
1093
1094    /**
1095     * Indicates the changed type
1096     *
1097     * @type { ChangeType }
1098     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1099     * @since 10
1100     */
1101    type: ChangeType;
1102
1103    /**
1104     * Indicates if there is a string primary key, the inserted will keep data's primary keys
1105     * otherwise it will keep the data's rowid.
1106     *
1107     * @type { Array<string> | Array<number> }
1108     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1109     * @since 10
1110     */
1111    inserted: Array<string> | Array<number>;
1112
1113    /**
1114     * Indicates if there is a string primary key, the updated will keep data's primary keys
1115     * otherwise it will keep the data's rowid.
1116     *
1117     * @type { Array<string> | Array<number> }
1118     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1119     * @since 10
1120     */
1121    updated: Array<string> | Array<number>;
1122
1123    /**
1124     * Indicates if there is a string primary key, the deleted will keep data's primary keys
1125     * otherwise it will keep the data's rowid.
1126     *
1127     * @type { Array<string> | Array<number> }
1128     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1129     * @since 10
1130     */
1131    deleted: Array<string> | Array<number>;
1132  }
1133
1134  /**
1135   * Describes the distribution type of the tables.
1136   *
1137   * @enum { number }
1138   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1139   * @since 10
1140   */
1141  enum DistributedType {
1142    /**
1143     * Indicates the table is distributed among the devices
1144     *
1145     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1146     * @since 10
1147     */
1148    DISTRIBUTED_DEVICE,
1149
1150    /**
1151     * Indicates the table is distributed between the cloud and the devices.
1152     *
1153     * @permission ohos.permission.DISTRIBUTED_DATASYNC
1154     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
1155     * @since 10
1156     */
1157    /**
1158     * Indicates the table is distributed between the cloud and the devices.
1159     *
1160     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
1161     * @since 12
1162     */
1163    DISTRIBUTED_CLOUD
1164  }
1165
1166  /**
1167   * Indicates the reference between tables.
1168   *
1169   * @interface Reference
1170   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1171   * @systemapi
1172   * @since 11
1173   */
1174  interface Reference {
1175    /**
1176     * Indicates the table that references another table.
1177     *
1178     * @type { string }
1179     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1180     * @systemapi
1181     * @since 11
1182     */
1183    sourceTable: string;
1184
1185    /**
1186     * Indicates the table to be referenced.
1187     *
1188     * @type { string }
1189     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1190     * @systemapi
1191     * @since 11
1192     */
1193    targetTable: string;
1194
1195    /**
1196     * Indicates the reference fields.
1197     *
1198     * @type { Record<string, string> }
1199     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1200     * @systemapi
1201     * @since 11
1202     */
1203    refFields: Record<string, string>
1204  }
1205
1206  /**
1207   * Manages the distributed configuration of the table.
1208   *
1209   * @interface DistributedConfig
1210   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1211   * @since 10
1212   */
1213  interface DistributedConfig {
1214    /**
1215     * Specifies whether the database auto sync.
1216     *
1217     * @type { boolean }
1218     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1219     * @since 10
1220     */
1221    autoSync: boolean;
1222
1223    /**
1224     * Specifies the reference relationships between tables.
1225     *
1226     * @type { ?Array<Reference> }
1227     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1228     * @systemapi
1229     * @since 11
1230     */
1231    references?: Array<Reference>;
1232  }
1233
1234  /**
1235   * Describes the conflict resolutions to insert data into the table.
1236   *
1237   * @enum { number }
1238   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1239   * @crossplatform
1240   * @since 10
1241   */
1242  enum ConflictResolution {
1243    /**
1244     * Implements no action when conflict occurs.
1245     *
1246     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1247     * @crossplatform
1248     * @since 10
1249     */
1250    ON_CONFLICT_NONE = 0,
1251
1252    /**
1253     * Implements rollback operation when conflict occurs.
1254     *
1255     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1256     * @crossplatform
1257     * @since 10
1258     */
1259    ON_CONFLICT_ROLLBACK = 1,
1260
1261    /**
1262     * Implements abort operation when conflict occurs.
1263     *
1264     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1265     * @crossplatform
1266     * @since 10
1267     */
1268    ON_CONFLICT_ABORT = 2,
1269
1270    /**
1271     * Implements fail operation when conflict occurs.
1272     *
1273     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1274     * @crossplatform
1275     * @since 10
1276     */
1277    ON_CONFLICT_FAIL = 3,
1278
1279    /**
1280     * Implements ignore operation when conflict occurs.
1281     *
1282     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1283     * @crossplatform
1284     * @since 10
1285     */
1286    ON_CONFLICT_IGNORE = 4,
1287
1288    /**
1289     * Implements replace operation operator when conflict occurs.
1290     *
1291     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1292     * @crossplatform
1293     * @since 10
1294     */
1295    ON_CONFLICT_REPLACE = 5
1296  }
1297
1298  /**
1299   * Describes the data origin sources.
1300   *
1301   * @enum { number }
1302   * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
1303   * @since 11
1304   */
1305  enum Origin {
1306    /**
1307     * Indicates the data source is local.
1308     *
1309     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
1310     * @since 11
1311     */
1312    LOCAL,
1313
1314    /**
1315     * Indicates the data source is cloud.
1316     *
1317     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
1318     * @since 11
1319     */
1320    CLOUD,
1321
1322    /**
1323     * Indicates the data source is remote.
1324     *
1325     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
1326     * @since 11
1327     */
1328    REMOTE,
1329  }
1330
1331  /**
1332   * Enumerates the field.
1333   *
1334   * @enum { string }
1335   * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
1336   * @since 11
1337   */
1338  enum Field {
1339    /**
1340     * Cursor field.
1341     *
1342     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
1343     * @since 11
1344     */
1345    CURSOR_FIELD = '#_cursor',
1346
1347    /**
1348     * Origin field. For details, see {@link Origin}.
1349     *
1350     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
1351     * @since 11
1352     */
1353    ORIGIN_FIELD = '#_origin',
1354
1355    /**
1356     * Deleted flag field.
1357     * Indicates whether data has deleted in cloud.
1358     *
1359     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
1360     * @since 11
1361     */
1362    DELETED_FLAG_FIELD = '#_deleted_flag',
1363
1364    /**
1365     * Data status field.
1366     * Indicates data status.
1367     *
1368     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
1369     * @since 12
1370     */
1371    DATA_STATUS_FIELD = '#_data_status',
1372
1373    /**
1374     * Owner field.
1375     *
1376     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
1377     * @since 11
1378     */
1379    OWNER_FIELD = '#_cloud_owner',
1380
1381    /**
1382     * Privilege field.
1383     *
1384     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
1385     * @since 11
1386     */
1387    PRIVILEGE_FIELD = '#_cloud_privilege',
1388
1389    /**
1390     * Sharing resource field.
1391     *
1392     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
1393     * @since 11
1394     */
1395    SHARING_RESOURCE_FIELD = '#_sharing_resource_field'
1396  }
1397
1398  /**
1399   * Enumerates the type of rebuild.
1400   *
1401   * @enum { number }
1402   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1403   * @since 12
1404   */
1405  enum RebuildType {
1406    /**
1407     * The database is not rebuilt or repaired.
1408     *
1409     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1410     * @since 12
1411     */
1412    NONE,
1413
1414    /**
1415     * The database is rebuilt.
1416     *
1417     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1418     * @since 12
1419     */
1420    REBUILT,
1421
1422    /**
1423     * The database is repaired.
1424     *
1425     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1426     * @since 12
1427     */
1428    REPAIRED
1429  }
1430
1431  /**
1432   * Manages relational database configurations.
1433   *
1434   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1435   * @since 9
1436   */
1437  /**
1438   * Manages relational database configurations.
1439   *
1440   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1441   * @crossplatform
1442   * @since 10
1443   */
1444  class RdbPredicates {
1445    /**
1446     * A parameterized constructor used to create a RdbPredicates instance.
1447     *
1448     * @param { string } name - Indicates the table name of the database.
1449     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1450     * <br>2. Incorrect parameter types.
1451     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1452     * @since 9
1453     */
1454    /**
1455     * A parameterized constructor used to create a RdbPredicates instance.
1456     *
1457     * @param { string } name - Indicates the table name of the database.
1458     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1459     * <br>2. Incorrect parameter types.
1460     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1461     * @crossplatform
1462     * @since 10
1463     */
1464    constructor(name: string);
1465
1466    /**
1467     * Specifies remote devices which connect to local device when syncing distributed database.
1468     * When query database, this function should not be called.
1469     *
1470     * @param { Array<string> } devices - Indicates specified remote devices.
1471     * @returns { RdbPredicates } - The {@link RdbPredicates} self.
1472     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1473     * <br>2. Incorrect parameter types.
1474     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1475     * @since 9
1476     */
1477    inDevices(devices: Array<string>): RdbPredicates;
1478
1479    /**
1480     * Specifies all remote devices which connect to local device when syncing distributed database.
1481     * When query database, this function should not be called.
1482     *
1483     * @returns { RdbPredicates } - The {@link RdbPredicates} self.
1484     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1485     * @since 9
1486     */
1487    inAllDevices(): RdbPredicates;
1488
1489    /**
1490     * Configure the RdbPredicates to match the field whose data type is ValueType and value is equal
1491     * to a specified value.
1492     * This method is similar to = of the SQL statement.
1493     *
1494     * @param { string } field - Indicates the column name in the database table.
1495     * @param { ValueType } value - Indicates the value to match with the {@link RdbPredicates}.
1496     * @returns { RdbPredicates } - The {@link RdbPredicates} self.
1497     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1498     * <br>2. Incorrect parameter types.
1499     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1500     * @since 9
1501     */
1502    /**
1503     * Configure the RdbPredicates to match the field whose data type is ValueType and value is equal
1504     * to a specified value.
1505     * This method is similar to = of the SQL statement.
1506     *
1507     * @param { string } field - Indicates the column name in the database table.
1508     * @param { ValueType } value - Indicates the value to match with the {@link RdbPredicates}.
1509     * @returns { RdbPredicates } - The {@link RdbPredicates} self.
1510     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1511     * <br>2. Incorrect parameter types.
1512     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1513     * @crossplatform
1514     * @since 10
1515     */
1516    equalTo(field: string, value: ValueType): RdbPredicates;
1517
1518    /**
1519     * Configure the RdbPredicates to match the field whose data type is ValueType and value is not equal to
1520     * a specified value.
1521     * This method is similar to != of the SQL statement.
1522     *
1523     * @param { string } field - Indicates the column name in the database table.
1524     * @param { ValueType } value - Indicates the value to match with the {@link RdbPredicates}.
1525     * @returns { RdbPredicates } - The {@link RdbPredicates} self.
1526     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1527     * <br>2. Incorrect parameter types.
1528     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1529     * @since 9
1530     */
1531    /**
1532     * Configure the RdbPredicates to match the field whose data type is ValueType and value is not equal to
1533     * a specified value.
1534     * This method is similar to != of the SQL statement.
1535     *
1536     * @param { string } field - Indicates the column name in the database table.
1537     * @param { ValueType } value - Indicates the value to match with the {@link RdbPredicates}.
1538     * @returns { RdbPredicates } - The {@link RdbPredicates} self.
1539     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1540     * <br>2. Incorrect parameter types.
1541     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1542     * @crossplatform
1543     * @since 10
1544     */
1545    notEqualTo(field: string, value: ValueType): RdbPredicates;
1546
1547    /**
1548     * Adds a left parenthesis to the RdbPredicates.
1549     * This method is similar to ( of the SQL statement and needs to be used together with endWrap().
1550     *
1551     * @returns { RdbPredicates } - The {@link RdbPredicates} with the left parenthesis.
1552     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1553     * @since 9
1554     */
1555    /**
1556     * Adds a left parenthesis to the RdbPredicates.
1557     * This method is similar to ( of the SQL statement and needs to be used together with endWrap().
1558     *
1559     * @returns { RdbPredicates } - The {@link RdbPredicates} with the left parenthesis.
1560     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1561     * @crossplatform
1562     * @since 10
1563     */
1564    beginWrap(): RdbPredicates;
1565
1566    /**
1567     * Adds a right parenthesis to the RdbPredicates.
1568     * This method is similar to ) of the SQL statement and needs to be used together with beginWrap().
1569     *
1570     * @returns { RdbPredicates } - The {@link RdbPredicates} with the right parenthesis.
1571     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1572     * @since 9
1573     */
1574    /**
1575     * Adds a right parenthesis to the RdbPredicates.
1576     * This method is similar to ) of the SQL statement and needs to be used together with beginWrap().
1577     *
1578     * @returns { RdbPredicates } - The {@link RdbPredicates} with the right parenthesis.
1579     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1580     * @crossplatform
1581     * @since 10
1582     */
1583    endWrap(): RdbPredicates;
1584
1585    /**
1586     * Adds an or condition to the RdbPredicates.
1587     * This method is similar to or of the SQL statement.
1588     *
1589     * @returns { RdbPredicates } - The {@link RdbPredicates} with the or condition.
1590     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1591     * @since 9
1592     */
1593    /**
1594     * Adds an or condition to the RdbPredicates.
1595     * This method is similar to or of the SQL statement.
1596     *
1597     * @returns { RdbPredicates } - The {@link RdbPredicates} with the or condition.
1598     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1599     * @crossplatform
1600     * @since 10
1601     */
1602    or(): RdbPredicates;
1603
1604    /**
1605     * Adds an and condition to the RdbPredicates.
1606     * This method is similar to and of the SQL statement.
1607     *
1608     * @returns { RdbPredicates } - The {@link RdbPredicates} with the and condition.
1609     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1610     * @since 9
1611     */
1612    /**
1613     * Adds an and condition to the RdbPredicates.
1614     * This method is similar to and of the SQL statement.
1615     *
1616     * @returns { RdbPredicates } - The {@link RdbPredicates} with the and condition.
1617     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1618     * @crossplatform
1619     * @since 10
1620     */
1621    and(): RdbPredicates;
1622
1623    /**
1624     * Configure the RdbPredicates to match the field whose data type is string and value
1625     * contains a specified value.
1626     * This method is similar to contains of the SQL statement.
1627     *
1628     * @param { string } field - Indicates the column name in the database table.
1629     * @param { string } value - Indicates the value to match with the {@link RdbPredicates}.
1630     * @returns { RdbPredicates } - The {@link RdbPredicates} self.
1631     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1632     * <br>2. Incorrect parameter types.
1633     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1634     * @since 9
1635     */
1636    /**
1637     * Configure the RdbPredicates to match the field whose data type is string and value
1638     * contains a specified value.
1639     * This method is similar to contains of the SQL statement.
1640     *
1641     * @param { string } field - Indicates the column name in the database table.
1642     * @param { string } value - Indicates the value to match with the {@link RdbPredicates}.
1643     * @returns { RdbPredicates } - The {@link RdbPredicates} self.
1644     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1645     * <br>2. Incorrect parameter types.
1646     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1647     * @crossplatform
1648     * @since 10
1649     */
1650    contains(field: string, value: string): RdbPredicates;
1651
1652    /**
1653     * Configure the RdbPredicates to match the field whose data type is string and value starts
1654     * with a specified string.
1655     * This method is similar to value% of the SQL statement.
1656     *
1657     * @param { string } field - Indicates the column name in the database table.
1658     * @param { string } value - Indicates the value to match with the {@link RdbPredicates}.
1659     * @returns { RdbPredicates } - The {@link RdbPredicates} self.
1660     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1661     * <br>2. Incorrect parameter types.
1662     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1663     * @since 9
1664     */
1665    /**
1666     * Configure the RdbPredicates to match the field whose data type is string and value starts
1667     * with a specified string.
1668     * This method is similar to value% of the SQL statement.
1669     *
1670     * @param { string } field - Indicates the column name in the database table.
1671     * @param { string } value - Indicates the value to match with the {@link RdbPredicates}.
1672     * @returns { RdbPredicates } - The {@link RdbPredicates} self.
1673     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1674     * <br>2. Incorrect parameter types.
1675     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1676     * @crossplatform
1677     * @since 10
1678     */
1679    beginsWith(field: string, value: string): RdbPredicates;
1680
1681    /**
1682     * Configure the RdbPredicates to match the field whose data type is string and value
1683     * ends with a specified string.
1684     * This method is similar to %value of the SQL statement.
1685     *
1686     * @param { string } field - Indicates the column name in the database table.
1687     * @param { string } value - Indicates the value to match with the {@link RdbPredicates}.
1688     * @returns { RdbPredicates } - The {@link RdbPredicates} self.
1689     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1690     * <br>2. Incorrect parameter types.
1691     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1692     * @since 9
1693     */
1694    /**
1695     * Configure the RdbPredicates to match the field whose data type is string and value
1696     * ends with a specified string.
1697     * This method is similar to %value of the SQL statement.
1698     *
1699     * @param { string } field - Indicates the column name in the database table.
1700     * @param { string } value - Indicates the value to match with the {@link RdbPredicates}.
1701     * @returns { RdbPredicates } - The {@link RdbPredicates} self.
1702     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1703     * <br>2. Incorrect parameter types.
1704     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1705     * @crossplatform
1706     * @since 10
1707     */
1708    endsWith(field: string, value: string): RdbPredicates;
1709
1710    /**
1711     * Configure the RdbPredicates to match the fields whose value is null.
1712     * This method is similar to is null of the SQL statement.
1713     *
1714     * @param { string } field - Indicates the column name in the database table.
1715     * @returns { RdbPredicates } - The {@link RdbPredicates} self.
1716     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1717     * <br>2. Incorrect parameter types.
1718     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1719     * @since 9
1720     */
1721    /**
1722     * Configure the RdbPredicates to match the fields whose value is null.
1723     * This method is similar to is null of the SQL statement.
1724     *
1725     * @param { string } field - Indicates the column name in the database table.
1726     * @returns { RdbPredicates } - The {@link RdbPredicates} self.
1727     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1728     * <br>2. Incorrect parameter types.
1729     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1730     * @crossplatform
1731     * @since 10
1732     */
1733    isNull(field: string): RdbPredicates;
1734
1735    /**
1736     * Configure the RdbPredicates to match the specified fields whose value is not null.
1737     * This method is similar to is not null of the SQL statement.
1738     *
1739     * @param { string } field - Indicates the column name in the database table.
1740     * @returns { RdbPredicates } - The {@link RdbPredicates} self.
1741     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1742     * <br>2. Incorrect parameter types.
1743     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1744     * @since 9
1745     */
1746    /**
1747     * Configure the RdbPredicates to match the specified fields whose value is not null.
1748     * This method is similar to is not null of the SQL statement.
1749     *
1750     * @param { string } field - Indicates the column name in the database table.
1751     * @returns { RdbPredicates } - The {@link RdbPredicates} self.
1752     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1753     * <br>2. Incorrect parameter types.
1754     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1755     * @crossplatform
1756     * @since 10
1757     */
1758    isNotNull(field: string): RdbPredicates;
1759
1760    /**
1761     * Configure the RdbPredicates to match the fields whose data type is string and value is
1762     * similar to a specified string.
1763     * This method is similar to like of the SQL statement.
1764     *
1765     * @param { string } field - Indicates the column name in the database table.
1766     * @param { string } value - Indicates the value to match with the {@link RdbPredicates}.
1767     * @returns { RdbPredicates } - The {@link RdbPredicates} that match the specified field.
1768     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1769     * <br>2. Incorrect parameter types.
1770     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1771     * @since 9
1772     */
1773    /**
1774     * Configure the RdbPredicates to match the fields whose data type is string and value is
1775     * similar to a specified string.
1776     * This method is similar to like of the SQL statement.
1777     *
1778     * @param { string } field - Indicates the column name in the database table.
1779     * @param { string } value - Indicates the value to match with the {@link RdbPredicates}.
1780     * @returns { RdbPredicates } - The {@link RdbPredicates} that match the specified field.
1781     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1782     * <br>2. Incorrect parameter types.
1783     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1784     * @crossplatform
1785     * @since 10
1786     */
1787    like(field: string, value: string): RdbPredicates;
1788
1789    /**
1790     * Configure RdbPredicates to match the specified field whose data type is string and the value contains
1791     * a wildcard.
1792     * Different from like, the input parameters of this method are case-sensitive.
1793     *
1794     * @param { string } field - Indicates the column name in the database table.
1795     * @param { string } value - Indicates the value to match with the {@link RdbPredicates}.
1796     * @returns { RdbPredicates } - The SQL statement with the specified {@link RdbPredicates}.
1797     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1798     * <br>2. Incorrect parameter types.
1799     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1800     * @since 9
1801     */
1802    /**
1803     * Configure RdbPredicates to match the specified field whose data type is string and the value contains
1804     * a wildcard.
1805     * Different from like, the input parameters of this method are case-sensitive.
1806     *
1807     * @param { string } field - Indicates the column name in the database table.
1808     * @param { string } value - Indicates the value to match with the {@link RdbPredicates}.
1809     * @returns { RdbPredicates } - The SQL statement with the specified {@link RdbPredicates}.
1810     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1811     * <br>2. Incorrect parameter types.
1812     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1813     * @crossplatform
1814     * @since 10
1815     */
1816    glob(field: string, value: string): RdbPredicates;
1817
1818    /**
1819     * Configure RdbPredicates to match the specified field whose value is within a given range.
1820     *
1821     * @param { string } field - Indicates the column name.
1822     * @param { ValueType } low - Indicates the minimum value.
1823     * @param { ValueType } high - Indicates the maximum value.
1824     * @returns { RdbPredicates } - The SQL statement with the specified {@link RdbPredicates}.
1825     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1826     * <br>2. Incorrect parameter types.
1827     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1828     * @since 9
1829     */
1830    /**
1831     * Configure RdbPredicates to match the specified field whose value is within a given range.
1832     *
1833     * @param { string } field - Indicates the column name.
1834     * @param { ValueType } low - Indicates the minimum value.
1835     * @param { ValueType } high - Indicates the maximum value.
1836     * @returns { RdbPredicates } - The SQL statement with the specified {@link RdbPredicates}.
1837     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1838     * <br>2. Incorrect parameter types.
1839     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1840     * @crossplatform
1841     * @since 10
1842     */
1843    between(field: string, low: ValueType, high: ValueType): RdbPredicates;
1844
1845    /**
1846     * Configure RdbPredicates to match the specified field whose value is out of a given range.
1847     *
1848     * @param { string } field - Indicates the column name in the database table.
1849     * @param { ValueType } low - Indicates the minimum value.
1850     * @param { ValueType } high - Indicates the maximum value.
1851     * @returns { RdbPredicates } - The SQL statement with the specified {@link RdbPredicates}.
1852     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1853     * <br>2. Incorrect parameter types.
1854     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1855     * @since 9
1856     */
1857    /**
1858     * Configure RdbPredicates to match the specified field whose value is out of a given range.
1859     *
1860     * @param { string } field - Indicates the column name in the database table.
1861     * @param { ValueType } low - Indicates the minimum value.
1862     * @param { ValueType } high - Indicates the maximum value.
1863     * @returns { RdbPredicates } - The SQL statement with the specified {@link RdbPredicates}.
1864     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1865     * <br>2. Incorrect parameter types.
1866     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1867     * @crossplatform
1868     * @since 10
1869     */
1870    notBetween(field: string, low: ValueType, high: ValueType): RdbPredicates;
1871
1872    /**
1873     * Restricts the value of the field to be greater than the specified value.
1874     *
1875     * @param { string } field - Indicates the column name in the database table.
1876     * @param { ValueType } value - Indicates the value to match with the {@link RdbPredicates}.
1877     * @returns { RdbPredicates } - The SQL query statement with the specified {@link RdbPredicates}.
1878     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1879     * <br>2. Incorrect parameter types.
1880     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1881     * @since 9
1882     */
1883    /**
1884     * Restricts the value of the field to be greater than the specified value.
1885     *
1886     * @param { string } field - Indicates the column name in the database table.
1887     * @param { ValueType } value - Indicates the value to match with the {@link RdbPredicates}.
1888     * @returns { RdbPredicates } - The SQL query statement with the specified {@link RdbPredicates}.
1889     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1890     * <br>2. Incorrect parameter types.
1891     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1892     * @crossplatform
1893     * @since 10
1894     */
1895    greaterThan(field: string, value: ValueType): RdbPredicates;
1896
1897    /**
1898     * Restricts the value of the field to be smaller than the specified value.
1899     *
1900     * @param { string } field - Indicates the column name in the database table.
1901     * @param { ValueType } value - Indicates the value to match with the {@link RdbPredicates}.
1902     * @returns { RdbPredicates } - The SQL query statement with the specified {@link RdbPredicates}.
1903     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1904     * <br>2. Incorrect parameter types.
1905     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1906     * @since 9
1907     */
1908    /**
1909     * Restricts the value of the field to be smaller than the specified value.
1910     *
1911     * @param { string } field - Indicates the column name in the database table.
1912     * @param { ValueType } value - Indicates the value to match with the {@link RdbPredicates}.
1913     * @returns { RdbPredicates } - The SQL query statement with the specified {@link RdbPredicates}.
1914     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1915     * <br>2. Incorrect parameter types.
1916     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1917     * @crossplatform
1918     * @since 10
1919     */
1920    lessThan(field: string, value: ValueType): RdbPredicates;
1921
1922    /**
1923     * Restricts the value of the field to be greater than or equal to the specified value.
1924     *
1925     * @param { string } field - Indicates the column name in the database table.
1926     * @param { ValueType } value - Indicates the value to match with the {@link RdbPredicates}.
1927     * @returns { RdbPredicates } - The SQL query statement with the specified {@link RdbPredicates}.
1928     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1929     * <br>2. Incorrect parameter types.
1930     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1931     * @since 9
1932     */
1933    /**
1934     * Restricts the value of the field to be greater than or equal to the specified value.
1935     *
1936     * @param { string } field - Indicates the column name in the database table.
1937     * @param { ValueType } value - Indicates the value to match with the {@link RdbPredicates}.
1938     * @returns { RdbPredicates } - The SQL query statement with the specified {@link RdbPredicates}.
1939     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1940     * <br>2. Incorrect parameter types.
1941     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1942     * @crossplatform
1943     * @since 10
1944     */
1945    greaterThanOrEqualTo(field: string, value: ValueType): RdbPredicates;
1946
1947    /**
1948     * Restricts the value of the field to be smaller than or equal to the specified value.
1949     *
1950     * @param { string } field - Indicates the column name in the database table.
1951     * @param { ValueType } value - Indicates the value to match with the {@link RdbPredicates}.
1952     * @returns { RdbPredicates } - The SQL query statement with the specified {@link RdbPredicates}.
1953     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1954     * <br>2. Incorrect parameter types.
1955     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1956     * @since 9
1957     */
1958    /**
1959     * Restricts the value of the field to be smaller than or equal to the specified value.
1960     *
1961     * @param { string } field - Indicates the column name in the database table.
1962     * @param { ValueType } value - Indicates the value to match with the {@link RdbPredicates}.
1963     * @returns { RdbPredicates } - The SQL query statement with the specified {@link RdbPredicates}.
1964     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1965     * <br>2. Incorrect parameter types.
1966     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1967     * @crossplatform
1968     * @since 10
1969     */
1970    lessThanOrEqualTo(field: string, value: ValueType): RdbPredicates;
1971
1972    /**
1973     * Restricts the ascending order of the return list. When there are several orders,
1974     * the one close to the head has the highest priority.
1975     *
1976     * @param { string } field - Indicates the column name for sorting the return list.
1977     * @returns { RdbPredicates } - The SQL query statement with the specified {@link RdbPredicates}.
1978     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1979     * <br>2. Incorrect parameter types.
1980     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1981     * @since 9
1982     */
1983    /**
1984     * Restricts the ascending order of the return list. When there are several orders,
1985     * the one close to the head has the highest priority.
1986     *
1987     * @param { string } field - Indicates the column name for sorting the return list.
1988     * @returns { RdbPredicates } - The SQL query statement with the specified {@link RdbPredicates}.
1989     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
1990     * <br>2. Incorrect parameter types.
1991     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
1992     * @crossplatform
1993     * @since 10
1994     */
1995    orderByAsc(field: string): RdbPredicates;
1996
1997    /**
1998     * Restricts the descending order of the return list. When there are several orders,
1999     * the one close to the head has the highest priority.
2000     *
2001     * @param { string } field - Indicates the column name for sorting the return list.
2002     * @returns { RdbPredicates } - The SQL query statement with the specified {@link RdbPredicates}.
2003     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2004     * <br>2. Incorrect parameter types.
2005     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2006     * @since 9
2007     */
2008    /**
2009     * Restricts the descending order of the return list. When there are several orders,
2010     * the one close to the head has the highest priority.
2011     *
2012     * @param { string } field - Indicates the column name for sorting the return list.
2013     * @returns { RdbPredicates } - The SQL query statement with the specified {@link RdbPredicates}.
2014     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2015     * <br>2. Incorrect parameter types.
2016     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2017     * @crossplatform
2018     * @since 10
2019     */
2020    orderByDesc(field: string): RdbPredicates;
2021
2022    /**
2023     * Restricts each row of the query result to be unique.
2024     *
2025     * @returns { RdbPredicates } - The SQL query statement with the specified {@link RdbPredicates}.
2026     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2027     * @since 9
2028     */
2029    /**
2030     * Restricts each row of the query result to be unique.
2031     *
2032     * @returns { RdbPredicates } - The SQL query statement with the specified {@link RdbPredicates}.
2033     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2034     * @crossplatform
2035     * @since 10
2036     */
2037    distinct(): RdbPredicates;
2038
2039    /**
2040     * Restricts the max number of return records.
2041     *
2042     * @param { number } value - Indicates the max length of the return list.
2043     * @returns { RdbPredicates } - The SQL query statement with the specified {@link RdbPredicates}.
2044     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2045     * <br>2. Incorrect parameter types.
2046     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2047     * @since 9
2048     */
2049    /**
2050     * Restricts the max number of return records.
2051     *
2052     * @param { number } value - Indicates the max length of the return list.
2053     * @returns { RdbPredicates } - The SQL query statement with the specified {@link RdbPredicates}.
2054     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2055     * <br>2. Incorrect parameter types.
2056     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2057     * @crossplatform
2058     * @since 10
2059     */
2060    limitAs(value: number): RdbPredicates;
2061
2062    /**
2063     * Configure RdbPredicates to specify the start position of the returned result.
2064     * Use this method together with limit(number).
2065     *
2066     * @param { number } rowOffset - Indicates the start position of the returned result. The value is a positive integer.
2067     * @returns { RdbPredicates } - The SQL query statement with the specified {@link RdbPredicates}.
2068     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2069     * <br>2. Incorrect parameter types.
2070     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2071     * @since 9
2072     */
2073    /**
2074     * Configure RdbPredicates to specify the start position of the returned result.
2075     * Use this method together with limit(number).
2076     *
2077     * @param { number } rowOffset - Indicates the start position of the returned result. The value is a positive integer.
2078     * @returns { RdbPredicates } - The SQL query statement with the specified {@link RdbPredicates}.
2079     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2080     * <br>2. Incorrect parameter types.
2081     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2082     * @crossplatform
2083     * @since 10
2084     */
2085    offsetAs(rowOffset: number): RdbPredicates;
2086
2087    /**
2088     * Configure RdbPredicates to group query results by specified columns.
2089     *
2090     * @param { Array<string> } fields - Indicates the specified columns by which query results are grouped.
2091     * @returns { RdbPredicates } - The SQL query statement with the specified {@link RdbPredicates}.
2092     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2093     * <br>2. Incorrect parameter types.
2094     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2095     * @since 9
2096     */
2097    /**
2098     * Configure RdbPredicates to group query results by specified columns.
2099     *
2100     * @param { Array<string> } fields - Indicates the specified columns by which query results are grouped.
2101     * @returns { RdbPredicates } - The SQL query statement with the specified {@link RdbPredicates}.
2102     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2103     * <br>2. Incorrect parameter types.
2104     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2105     * @crossplatform
2106     * @since 10
2107     */
2108    groupBy(fields: Array<string>): RdbPredicates;
2109
2110    /**
2111     * Configure RdbPredicates to specify the index column.
2112     * Before using this method, you need to create an index column.
2113     *
2114     * @param { string } field - Indicates the name of the index column.
2115     * @returns { RdbPredicates } - The SQL statement with the specified {@link RdbPredicates}.
2116     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2117     * <br>2. Incorrect parameter types.
2118     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2119     * @since 9
2120     */
2121    /**
2122     * Configure RdbPredicates to specify the index column.
2123     * Before using this method, you need to create an index column.
2124     *
2125     * @param { string } field - Indicates the name of the index column.
2126     * @returns { RdbPredicates } - The SQL statement with the specified {@link RdbPredicates}.
2127     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2128     * <br>2. Incorrect parameter types.
2129     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2130     * @crossplatform
2131     * @since 10
2132     */
2133    indexedBy(field: string): RdbPredicates;
2134
2135    /**
2136     * Configure RdbPredicates to match the specified field whose data type is ValueType array and values
2137     * are within a given range.
2138     *
2139     * @param { string } field - Indicates the column name in the database table.
2140     * @param { Array<ValueType> } value - Indicates the values to match with {@link RdbPredicates}.
2141     * @returns { RdbPredicates } - The SQL statement with the specified {@link RdbPredicates}.
2142     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2143     * <br>2. Incorrect parameter types.
2144     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2145     * @since 9
2146     */
2147    /**
2148     * Configure RdbPredicates to match the specified field whose data type is ValueType array and values
2149     * are within a given range.
2150     *
2151     * @param { string } field - Indicates the column name in the database table.
2152     * @param { Array<ValueType> } value - Indicates the values to match with {@link RdbPredicates}.
2153     * @returns { RdbPredicates } - The SQL statement with the specified {@link RdbPredicates}.
2154     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2155     * <br>2. Incorrect parameter types.
2156     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2157     * @crossplatform
2158     * @since 10
2159     */
2160    in(field: string, value: Array<ValueType>): RdbPredicates;
2161
2162    /**
2163     * Configure RdbPredicates to match the specified field whose data type is ValueType array and values
2164     * are out of a given range.
2165     *
2166     * @param { string } field - Indicates the column name in the database table.
2167     * @param { Array<ValueType> } value - Indicates the values to match with {@link RdbPredicates}.
2168     * @returns { RdbPredicates } - The SQL statement with the specified {@link RdbPredicates}.
2169     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2170     * <br>2. Incorrect parameter types.
2171     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2172     * @since 9
2173     */
2174    /**
2175     * Configure RdbPredicates to match the specified field whose data type is ValueType array and values
2176     * are out of a given range.
2177     *
2178     * @param { string } field - Indicates the column name in the database table.
2179     * @param { Array<ValueType> } value - Indicates the values to match with {@link RdbPredicates}.
2180     * @returns { RdbPredicates } - The SQL statement with the specified {@link RdbPredicates}.
2181     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2182     * <br>2. Incorrect parameter types.
2183     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2184     * @crossplatform
2185     * @since 10
2186     */
2187    notIn(field: string, value: Array<ValueType>): RdbPredicates;
2188
2189    /**
2190     * Sets the RdbPredicates to match the field whose data type is string and value
2191     * does not contain the specified value.
2192     * This method is similar to "Not like %value%" of the SQL statement.
2193     *
2194     * @param { string } field - Indicates the column name in the database table.
2195     * @param { string } value - Indicates the value that is not contained.
2196     * @returns { RdbPredicates } - The {@Link RdbPredicates} set.
2197     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2198     * <br>2. Incorrect parameter types.
2199     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2200     * @since 12
2201     */
2202    notContains(field: string, value: string): RdbPredicates;
2203
2204    /**
2205     * Sets the RdbPredicates to match the field whose data type is string and value
2206     * is not like the specified value.
2207     * This method is similar to "Not like" of the SQL statement.
2208     *
2209     * @param { string } field - Indicates the column name in the database table.
2210     * @param { string } value - Indicates the value to compare against.
2211     * @returns { RdbPredicates } - The {@Link RdbPredicates} set.
2212     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2213     * <br>2. Incorrect parameter types.
2214     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2215     * @since 12
2216     */
2217    notLike(field: string, value: string): RdbPredicates;
2218  }
2219
2220  /**
2221   * Provides methods for accessing a database result set generated by querying the database.
2222   *
2223   * @interface ResultSet
2224   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2225   * @since 9
2226   */
2227  /**
2228   * Provides methods for accessing a database result set generated by querying the database.
2229   *
2230   * @interface ResultSet
2231   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2232   * @crossplatform
2233   * @since 10
2234   */
2235  interface ResultSet {
2236    /**
2237     * Obtains the names of all columns in a result set.
2238     * The column names are returned as a string array, in which the strings are in the same order
2239     * as the columns in the result set.
2240     *
2241     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2242     * @since 9
2243     */
2244    /**
2245     * Obtains the names of all columns in a result set.
2246     * The column names are returned as a string array, in which the strings are in the same order
2247     * as the columns in the result set.
2248     *
2249     * @type { Array<string> }
2250     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2251     * @crossplatform
2252     * @since 10
2253     */
2254    columnNames: Array<string>;
2255
2256    /**
2257     * Obtains the number of columns in the result set.
2258     * The returned number is equal to the length of the string array returned by the
2259     * columnNames method.
2260     *
2261     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2262     * @since 9
2263     */
2264    /**
2265     * Obtains the number of columns in the result set.
2266     * The returned number is equal to the length of the string array returned by the
2267     * columnNames method.
2268     *
2269     * @type { number }
2270     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2271     * @crossplatform
2272     * @since 10
2273     */
2274    columnCount: number;
2275
2276    /**
2277     * Obtains the number of rows in the result set.
2278     *
2279     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2280     * @since 9
2281     */
2282    /**
2283     * Obtains the number of rows in the result set.
2284     *
2285     * @type { number }
2286     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2287     * @crossplatform
2288     * @since 10
2289     */
2290    rowCount: number;
2291
2292    /**
2293     * Obtains the current index of the result set.
2294     * The result set index starts from 0.
2295     *
2296     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2297     * @since 9
2298     */
2299    /**
2300     * Obtains the current index of the result set.
2301     * The result set index starts from 0.
2302     *
2303     * @type { number }
2304     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2305     * @crossplatform
2306     * @since 10
2307     */
2308    rowIndex: number;
2309
2310    /**
2311     * Checks whether the cursor is positioned at the first row.
2312     *
2313     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2314     * @since 9
2315     */
2316    /**
2317     * Checks whether the cursor is positioned at the first row.
2318     *
2319     * @type { boolean }
2320     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2321     * @crossplatform
2322     * @since 10
2323     */
2324    isAtFirstRow: boolean;
2325
2326    /**
2327     * Checks whether the cursor is positioned at the last row.
2328     *
2329     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2330     * @since 9
2331     */
2332    /**
2333     * Checks whether the cursor is positioned at the last row.
2334     *
2335     * @type { boolean }
2336     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2337     * @crossplatform
2338     * @since 10
2339     */
2340    isAtLastRow: boolean;
2341
2342    /**
2343     * Checks whether the cursor is positioned after the last row.
2344     *
2345     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2346     * @since 9
2347     */
2348    /**
2349     * Checks whether the cursor is positioned after the last row.
2350     *
2351     * @type { boolean }
2352     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2353     * @crossplatform
2354     * @since 10
2355     */
2356    isEnded: boolean;
2357
2358    /**
2359     * Checks whether the cursor is positioned before the first row.
2360     *
2361     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2362     * @since 9
2363     */
2364    /**
2365     * Checks whether the cursor is positioned before the first row.
2366     *
2367     * @type { boolean }
2368     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2369     * @crossplatform
2370     * @since 10
2371     */
2372    isStarted: boolean;
2373
2374    /**
2375     * Checks whether the current result set is closed.
2376     * If the result set is closed by calling the close method, true will be returned.
2377     *
2378     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2379     * @since 9
2380     */
2381    /**
2382     * Checks whether the current result set is closed.
2383     * If the result set is closed by calling the close method, true will be returned.
2384     *
2385     * @type { boolean }
2386     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2387     * @crossplatform
2388     * @since 10
2389     */
2390    isClosed: boolean;
2391
2392    /**
2393     * Obtains the column index based on the specified column name.
2394     * The column name is passed as an input parameter.
2395     *
2396     * @param { string } columnName - Indicates the name of the specified column in the result set.
2397     * @returns { number } The index of the specified column.
2398     * @throws { BusinessError } 14800013 - The column value is null or the column type is incompatible.
2399     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2400     * <br>2. Incorrect parameter types.
2401     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2402     * @since 9
2403     */
2404    /**
2405     * Obtains the column index based on the specified column name.
2406     * The column name is passed as an input parameter.
2407     *
2408     * @param { string } columnName - Indicates the name of the specified column in the result set.
2409     * @returns { number } The index of the specified column.
2410     * @throws { BusinessError } 14800013 - The column value is null or the column type is incompatible.
2411     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2412     * <br>2. Incorrect parameter types.
2413     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2414     * @crossplatform
2415     * @since 10
2416     */
2417    /**
2418     * Obtains the column index based on the specified column name.
2419     * The column name is passed as an input parameter.
2420     *
2421     * @param { string } columnName - Indicates the name of the specified column in the result set.
2422     * @returns { number } The index of the specified column.
2423     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2424     * <br>2. Incorrect parameter types.
2425     * @throws { BusinessError } 14800000 - Inner error.
2426     * @throws { BusinessError } 14800011 - Database corrupted.
2427     * @throws { BusinessError } 14800013 - Column out of bounds.
2428     * @throws { BusinessError } 14800014 - Already closed.
2429     * @throws { BusinessError } 14800019 - The SQL must be a query statement.
2430     * @throws { BusinessError } 14800021 - SQLite: Generic error.
2431     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
2432     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
2433     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
2434     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
2435     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
2436     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
2437     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
2438     * @throws { BusinessError } 14800029 - SQLite: The database is full.
2439     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
2440     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
2441     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
2442     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
2443     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
2444     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2445     * @crossplatform
2446     * @since 12
2447     */
2448    getColumnIndex(columnName: string): number;
2449
2450    /**
2451     * Obtains the column name based on the specified column index.
2452     * The column index is passed as an input parameter.
2453     *
2454     * @param { number } columnIndex - Indicates the index of the specified column in the result set.
2455     * @returns { string } The name of the specified column.
2456     * @throws { BusinessError } 14800013 - The column value is null or the column type is incompatible.
2457     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2458     * <br>2. Incorrect parameter types.
2459     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2460     * @since 9
2461     */
2462    /**
2463     * Obtains the column name based on the specified column index.
2464     * The column index is passed as an input parameter.
2465     *
2466     * @param { number } columnIndex - Indicates the index of the specified column in the result set.
2467     * @returns { string } The name of the specified column.
2468     * @throws { BusinessError } 14800013 - The column value is null or the column type is incompatible.
2469     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2470     * <br>2. Incorrect parameter types.
2471     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2472     * @crossplatform
2473     * @since 10
2474     */
2475    /**
2476     * Obtains the column name based on the specified column index.
2477     * The column index is passed as an input parameter.
2478     *
2479     * @param { number } columnIndex - Indicates the index of the specified column in the result set.
2480     * @returns { string } The name of the specified column.
2481     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2482     * <br>2. Incorrect parameter types.
2483     * @throws { BusinessError } 14800000 - Inner error.
2484     * @throws { BusinessError } 14800011 - Database corrupted.
2485     * @throws { BusinessError } 14800013 - Column out of bounds.
2486     * @throws { BusinessError } 14800014 - Already closed.
2487     * @throws { BusinessError } 14800019 - The SQL must be a query statement.
2488     * @throws { BusinessError } 14800021 - SQLite: Generic error.
2489     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
2490     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
2491     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
2492     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
2493     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
2494     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
2495     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
2496     * @throws { BusinessError } 14800029 - SQLite: The database is full.
2497     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
2498     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
2499     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
2500     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
2501     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
2502     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2503     * @crossplatform
2504     * @since 12
2505     */
2506    getColumnName(columnIndex: number): string;
2507
2508    /**
2509     * Go to the specified row of the result set forwards or backwards by an offset relative to its current position.
2510     * A positive offset indicates moving backwards, and a negative offset indicates moving forwards.
2511     *
2512     * @param { number } offset - Indicates the offset relative to the current position.
2513     * @returns { boolean } True if the result set is moved successfully and does not go beyond the range;
2514     *                   Returns false otherwise.
2515     * @throws { BusinessError } 14800012 - The result set is empty or the specified location is invalid.
2516     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2517     * <br>2. Incorrect parameter types.
2518     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2519     * @since 9
2520     */
2521    /**
2522     * Go to the specified row of the result set forwards or backwards by an offset relative to its current position.
2523     * A positive offset indicates moving backwards, and a negative offset indicates moving forwards.
2524     *
2525     * @param { number } offset - Indicates the offset relative to the current position.
2526     * @returns { boolean } True if the result set is moved successfully and does not go beyond the range;
2527     *                   Returns false otherwise.
2528     * @throws { BusinessError } 14800012 - The result set is empty or the specified location is invalid.
2529     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2530     * <br>2. Incorrect parameter types.
2531     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2532     * @crossplatform
2533     * @since 10
2534     */
2535    /**
2536     * Go to the specified row of the result set forwards or backwards by an offset relative to its current position.
2537     * A positive offset indicates moving backwards, and a negative offset indicates moving forwards.
2538     *
2539     * @param { number } offset - Indicates the offset relative to the current position.
2540     * @returns { boolean } True if the result set is moved successfully and does not go beyond the range;
2541     *                   Returns false otherwise.
2542     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2543     * <br>2. Incorrect parameter types.
2544     * @throws { BusinessError } 14800000 - Inner error.
2545     * @throws { BusinessError } 14800011 - Database corrupted.
2546     * @throws { BusinessError } 14800012 - Row out of bounds.
2547     * @throws { BusinessError } 14800014 - Already closed.
2548     * @throws { BusinessError } 14800019 - The SQL must be a query statement.
2549     * @throws { BusinessError } 14800021 - SQLite: Generic error.
2550     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
2551     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
2552     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
2553     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
2554     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
2555     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
2556     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
2557     * @throws { BusinessError } 14800029 - SQLite: The database is full.
2558     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
2559     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
2560     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
2561     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
2562     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
2563     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2564     * @crossplatform
2565     * @since 12
2566     */
2567    goTo(offset: number): boolean;
2568
2569    /**
2570     * Go to the specified row of the result set.
2571     *
2572     * @param { number } position - Indicates the index of the specified row, which starts from 0.
2573     * @returns { boolean } True if the result set is moved successfully; Returns false otherwise.
2574     * @throws { BusinessError } 14800012 - The result set is empty or the specified location is invalid.
2575     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2576     * <br>2. Incorrect parameter types.
2577     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2578     * @since 9
2579     */
2580    /**
2581     * Go to the specified row of the result set.
2582     *
2583     * @param { number } position - Indicates the index of the specified row, which starts from 0.
2584     * @returns { boolean } True if the result set is moved successfully; Returns false otherwise.
2585     * @throws { BusinessError } 14800012 - The result set is empty or the specified location is invalid.
2586     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2587     * <br>2. Incorrect parameter types.
2588     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2589     * @crossplatform
2590     * @since 10
2591     */
2592    /**
2593     * Go to the specified row of the result set.
2594     *
2595     * @param { number } position - Indicates the index of the specified row, which starts from 0.
2596     * @returns { boolean } True if the result set is moved successfully; Returns false otherwise.
2597     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2598     * <br>2. Incorrect parameter types.
2599     * @throws { BusinessError } 14800000 - Inner error.
2600     * @throws { BusinessError } 14800011 - Database corrupted.
2601     * @throws { BusinessError } 14800012 - Row out of bounds.
2602     * @throws { BusinessError } 14800014 - Already closed.
2603     * @throws { BusinessError } 14800019 - The SQL must be a query statement.
2604     * @throws { BusinessError } 14800021 - SQLite: Generic error.
2605     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
2606     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
2607     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
2608     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
2609     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
2610     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
2611     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
2612     * @throws { BusinessError } 14800029 - SQLite: The database is full.
2613     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
2614     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
2615     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
2616     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
2617     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
2618     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2619     * @crossplatform
2620     * @since 12
2621     */
2622    goToRow(position: number): boolean;
2623
2624    /**
2625     * Go to the first row of the result set.
2626     *
2627     * @returns { boolean } True if the result set is moved successfully;
2628     *                    Returns false otherwise, for example, if the result set is empty.
2629     * @throws { BusinessError } 14800012 - The result set is empty or the specified location is invalid.
2630     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2631     * @since 9
2632     */
2633    /**
2634     * Go to the first row of the result set.
2635     *
2636     * @returns { boolean } True if the result set is moved successfully;
2637     *                    Returns false otherwise, for example, if the result set is empty.
2638     * @throws { BusinessError } 14800012 - The result set is empty or the specified location is invalid.
2639     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2640     * @crossplatform
2641     * @since 10
2642     */
2643    /**
2644     * Go to the first row of the result set.
2645     *
2646     * @returns { boolean } True if the result set is moved successfully;
2647     *                    Returns false otherwise, for example, if the result set is empty.
2648     * @throws { BusinessError } 14800000 - Inner error.
2649     * @throws { BusinessError } 14800011 - Database corrupted.
2650     * @throws { BusinessError } 14800012 - Row out of bounds.
2651     * @throws { BusinessError } 14800014 - Already closed.
2652     * @throws { BusinessError } 14800019 - The SQL must be a query statement.
2653     * @throws { BusinessError } 14800021 - SQLite: Generic error.
2654     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
2655     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
2656     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
2657     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
2658     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
2659     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
2660     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
2661     * @throws { BusinessError } 14800029 - SQLite: The database is full.
2662     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
2663     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
2664     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
2665     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
2666     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
2667     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2668     * @crossplatform
2669     * @since 12
2670     */
2671    goToFirstRow(): boolean;
2672
2673    /**
2674     * Go to the last row of the result set.
2675     *
2676     * @returns { boolean } True if the result set is moved successfully;
2677     *                    Returns false otherwise, for example, if the result set is empty.
2678     * @throws { BusinessError } 14800012 - The result set is empty or the specified location is invalid.
2679     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2680     * @since 9
2681     */
2682    /**
2683     * Go to the last row of the result set.
2684     *
2685     * @returns { boolean } True if the result set is moved successfully;
2686     *                    Returns false otherwise, for example, if the result set is empty.
2687     * @throws { BusinessError } 14800012 - The result set is empty or the specified location is invalid.
2688     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2689     * @crossplatform
2690     * @since 10
2691     */
2692    /**
2693     * Go to the last row of the result set.
2694     *
2695     * @returns { boolean } True if the result set is moved successfully;
2696     *                    Returns false otherwise, for example, if the result set is empty.
2697     * @throws { BusinessError } 14800000 - Inner error.
2698     * @throws { BusinessError } 14800011 - Database corrupted.
2699     * @throws { BusinessError } 14800012 - Row out of bounds.
2700     * @throws { BusinessError } 14800014 - Already closed.
2701     * @throws { BusinessError } 14800019 - The SQL must be a query statement.
2702     * @throws { BusinessError } 14800021 - SQLite: Generic error.
2703     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
2704     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
2705     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
2706     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
2707     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
2708     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
2709     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
2710     * @throws { BusinessError } 14800029 - SQLite: The database is full.
2711     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
2712     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
2713     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
2714     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
2715     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
2716     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2717     * @crossplatform
2718     * @since 12
2719     */
2720    goToLastRow(): boolean;
2721
2722    /**
2723     * Go to the next row of the result set.
2724     *
2725     * @returns { boolean } True if the result set is moved successfully;
2726     *                    Returns false otherwise, for example, if the result set is already in the last row.
2727     * @throws { BusinessError } 14800012 - The result set is empty or the specified location is invalid.
2728     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2729     * @since 9
2730     */
2731    /**
2732     * Go to the next row of the result set.
2733     *
2734     * @returns { boolean } True if the result set is moved successfully;
2735     *                    Returns false otherwise, for example, if the result set is already in the last row.
2736     * @throws { BusinessError } 14800012 - The result set is empty or the specified location is invalid.
2737     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2738     * @crossplatform
2739     * @since 10
2740     */
2741    /**
2742     * Go to the next row of the result set.
2743     *
2744     * @returns { boolean } True if the result set is moved successfully;
2745     *                    Returns false otherwise, for example, if the result set is already in the last row.
2746     * @throws { BusinessError } 14800000 - Inner error.
2747     * @throws { BusinessError } 14800011 - Database corrupted.
2748     * @throws { BusinessError } 14800012 - Row out of bounds.
2749     * @throws { BusinessError } 14800014 - Already closed.
2750     * @throws { BusinessError } 14800019 - The SQL must be a query statement.
2751     * @throws { BusinessError } 14800021 - SQLite: Generic error.
2752     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
2753     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
2754     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
2755     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
2756     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
2757     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
2758     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
2759     * @throws { BusinessError } 14800029 - SQLite: The database is full.
2760     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
2761     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
2762     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
2763     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
2764     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
2765     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2766     * @crossplatform
2767     * @since 12
2768     */
2769    goToNextRow(): boolean;
2770
2771    /**
2772     * Go to the previous row of the result set.
2773     *
2774     * @returns { boolean } True if the result set is moved successfully;
2775     *                    Returns false otherwise, for example, if the result set is already in the first row.
2776     * @throws { BusinessError } 14800012 - The result set is empty or the specified location is invalid.
2777     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2778     * @since 9
2779     */
2780    /**
2781     * Go to the previous row of the result set.
2782     *
2783     * @returns { boolean } True if the result set is moved successfully;
2784     *                    Returns false otherwise, for example, if the result set is already in the first row.
2785     * @throws { BusinessError } 14800012 - The result set is empty or the specified location is invalid.
2786     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2787     * @crossplatform
2788     * @since 10
2789     */
2790    /**
2791     * Go to the previous row of the result set.
2792     *
2793     * @returns { boolean } True if the result set is moved successfully;
2794     *                    Returns false otherwise, for example, if the result set is already in the first row.
2795     * @throws { BusinessError } 14800000 - Inner error.
2796     * @throws { BusinessError } 14800011 - Database corrupted.
2797     * @throws { BusinessError } 14800012 - Row out of bounds.
2798     * @throws { BusinessError } 14800014 - Already closed.
2799     * @throws { BusinessError } 14800019 - The SQL must be a query statement.
2800     * @throws { BusinessError } 14800021 - SQLite: Generic error.
2801     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
2802     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
2803     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
2804     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
2805     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
2806     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
2807     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
2808     * @throws { BusinessError } 14800029 - SQLite: The database is full.
2809     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
2810     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
2811     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
2812     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
2813     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
2814     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2815     * @crossplatform
2816     * @since 12
2817     */
2818    goToPreviousRow(): boolean;
2819
2820    /**
2821     * Obtains the value of the specified column in the current row as a byte array.
2822     * The implementation class determines whether to throw an exception if the value of the specified column
2823     * in the current row is null or the specified column is not of the Blob type.
2824     *
2825     * @param { number } columnIndex - Indicates the specified column index, which starts from 0.
2826     * @returns { Uint8Array } The value of the specified column as a byte array.
2827     * @throws { BusinessError } 14800013 - The column value is null or the column type is incompatible.
2828     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2829     * <br>2. Incorrect parameter types.
2830     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2831     * @since 9
2832     */
2833    /**
2834     * Obtains the value of the specified column in the current row as a byte array.
2835     * The implementation class determines whether to throw an exception if the value of the specified column
2836     * in the current row is null or the specified column is not of the Blob type.
2837     *
2838     * @param { number } columnIndex - Indicates the specified column index, which starts from 0.
2839     * @returns { Uint8Array } The value of the specified column as a byte array.
2840     * @throws { BusinessError } 14800013 - The column value is null or the column type is incompatible.
2841     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2842     * <br>2. Incorrect parameter types.
2843     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2844     * @crossplatform
2845     * @since 10
2846     */
2847    /**
2848     * Obtains the value of the specified column in the current row as a byte array.
2849     * The implementation class determines whether to throw an exception if the value of the specified column
2850     * in the current row is null or the specified column is not of the Blob type.
2851     *
2852     * @param { number } columnIndex - Indicates the specified column index, which starts from 0.
2853     * @returns { Uint8Array } The value of the specified column as a byte array.
2854     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2855     * <br>2. Incorrect parameter types.
2856     * @throws { BusinessError } 14800000 - Inner error.
2857     * @throws { BusinessError } 14800011 - Database corrupted.
2858     * @throws { BusinessError } 14800012 - Row out of bounds.
2859     * @throws { BusinessError } 14800013 - Column out of bounds.
2860     * @throws { BusinessError } 14800014 - Already closed.
2861     * @throws { BusinessError } 14800021 - SQLite: Generic error.
2862     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
2863     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
2864     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
2865     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
2866     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
2867     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
2868     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
2869     * @throws { BusinessError } 14800029 - SQLite: The database is full.
2870     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
2871     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
2872     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
2873     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
2874     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
2875     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2876     * @crossplatform
2877     * @since 12
2878     */
2879    getBlob(columnIndex: number): Uint8Array;
2880
2881    /**
2882     * Obtains the value of the specified column in the current row as string.
2883     * The implementation class determines whether to throw an exception if the value of the specified column
2884     * in the current row is null or the specified column is not of the string type.
2885     *
2886     * @param { number } columnIndex - Indicates the specified column index, which starts from 0.
2887     * @returns { string } The value of the specified column as a string.
2888     * @throws { BusinessError } 14800013 - The column value is null or the column type is incompatible.
2889     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2890     * <br>2. Incorrect parameter types.
2891     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2892     * @since 9
2893     */
2894    /**
2895     * Obtains the value of the specified column in the current row as string.
2896     * The implementation class determines whether to throw an exception if the value of the specified column
2897     * in the current row is null or the specified column is not of the string type.
2898     *
2899     * @param { number } columnIndex - Indicates the specified column index, which starts from 0.
2900     * @returns { string } The value of the specified column as a string.
2901     * @throws { BusinessError } 14800013 - The column value is null or the column type is incompatible.
2902     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2903     * <br>2. Incorrect parameter types.
2904     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2905     * @crossplatform
2906     * @since 10
2907     */
2908    /**
2909     * Obtains the value of the specified column in the current row as string.
2910     * The implementation class determines whether to throw an exception if the value of the specified column
2911     * in the current row is null or the specified column is not of the string type.
2912     *
2913     * @param { number } columnIndex - Indicates the specified column index, which starts from 0.
2914     * @returns { string } The value of the specified column as a string.
2915     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2916     * <br>2. Incorrect parameter types.
2917     * @throws { BusinessError } 14800000 - Inner error.
2918     * @throws { BusinessError } 14800011 - Database corrupted.
2919     * @throws { BusinessError } 14800012 - Row out of bounds.
2920     * @throws { BusinessError } 14800013 - Column out of bounds.
2921     * @throws { BusinessError } 14800014 - Already closed.
2922     * @throws { BusinessError } 14800021 - SQLite: Generic error.
2923     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
2924     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
2925     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
2926     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
2927     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
2928     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
2929     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
2930     * @throws { BusinessError } 14800029 - SQLite: The database is full.
2931     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
2932     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
2933     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
2934     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
2935     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
2936     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2937     * @crossplatform
2938     * @since 12
2939     */
2940    getString(columnIndex: number): string;
2941
2942    /**
2943     * Obtains the value of the specified column in the current row as long.
2944     * The implementation class determines whether to throw an exception if the value of the specified column
2945     * in the current row is null, the specified column is not of the integer type.
2946     *
2947     * @param { number } columnIndex - Indicates the specified column index, which starts from 0.
2948     * @returns { number } The value of the specified column as a long.
2949     * @throws { BusinessError } 14800013 - The column value is null or the column type is incompatible.
2950     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2951     * <br>2. Incorrect parameter types.
2952     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2953     * @since 9
2954     */
2955    /**
2956     * Obtains the value of the specified column in the current row as long.
2957     * The implementation class determines whether to throw an exception if the value of the specified column
2958     * in the current row is null, the specified column is not of the integer type.
2959     *
2960     * @param { number } columnIndex - Indicates the specified column index, which starts from 0.
2961     * @returns { number } The value of the specified column as a long.
2962     * @throws { BusinessError } 14800013 - The column value is null or the column type is incompatible.
2963     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2964     * <br>2. Incorrect parameter types.
2965     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2966     * @crossplatform
2967     * @since 10
2968     */
2969    /**
2970     * Obtains the value of the specified column in the current row as long.
2971     * The implementation class determines whether to throw an exception if the value of the specified column
2972     * in the current row is null, the specified column is not of the integer type.
2973     *
2974     * @param { number } columnIndex - Indicates the specified column index, which starts from 0.
2975     * @returns { number } The value of the specified column as a long.
2976     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2977     * <br>2. Incorrect parameter types.
2978     * @throws { BusinessError } 14800000 - Inner error.
2979     * @throws { BusinessError } 14800011 - Database corrupted.
2980     * @throws { BusinessError } 14800012 - Row out of bounds.
2981     * @throws { BusinessError } 14800013 - Column out of bounds.
2982     * @throws { BusinessError } 14800014 - Already closed.
2983     * @throws { BusinessError } 14800021 - SQLite: Generic error.
2984     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
2985     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
2986     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
2987     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
2988     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
2989     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
2990     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
2991     * @throws { BusinessError } 14800029 - SQLite: The database is full.
2992     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
2993     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
2994     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
2995     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
2996     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
2997     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
2998     * @crossplatform
2999     * @since 12
3000     */
3001    getLong(columnIndex: number): number;
3002
3003    /**
3004     * Obtains the value of the specified column in the current row as double.
3005     * The implementation class determines whether to throw an exception if the value of the specified column
3006     * in the current row is null, the specified column is not of the double type.
3007     *
3008     * @param { number } columnIndex - Indicates the specified column index, which starts from 0.
3009     * @returns { number } The value of the specified column as a double.
3010     * @throws { BusinessError } 14800013 - The column value is null or the column type is incompatible.
3011     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3012     * <br>2. Incorrect parameter types.
3013     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3014     * @since 9
3015     */
3016    /**
3017     * Obtains the value of the specified column in the current row as double.
3018     * The implementation class determines whether to throw an exception if the value of the specified column
3019     * in the current row is null, the specified column is not of the double type.
3020     *
3021     * @param { number } columnIndex - Indicates the specified column index, which starts from 0.
3022     * @returns { number } The value of the specified column as a double.
3023     * @throws { BusinessError } 14800013 - The column value is null or the column type is incompatible.
3024     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3025     * <br>2. Incorrect parameter types.
3026     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3027     * @crossplatform
3028     * @since 10
3029     */
3030    /**
3031     * Obtains the value of the specified column in the current row as double.
3032     * The implementation class determines whether to throw an exception if the value of the specified column
3033     * in the current row is null, the specified column is not of the double type.
3034     *
3035     * @param { number } columnIndex - Indicates the specified column index, which starts from 0.
3036     * @returns { number } The value of the specified column as a double.
3037     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3038     * <br>2. Incorrect parameter types.
3039     * @throws { BusinessError } 14800000 - Inner error.
3040     * @throws { BusinessError } 14800011 - Database corrupted.
3041     * @throws { BusinessError } 14800012 - Row out of bounds.
3042     * @throws { BusinessError } 14800013 - Column out of bounds.
3043     * @throws { BusinessError } 14800014 - Already closed.
3044     * @throws { BusinessError } 14800021 - SQLite: Generic error.
3045     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
3046     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
3047     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
3048     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
3049     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
3050     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
3051     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
3052     * @throws { BusinessError } 14800029 - SQLite: The database is full.
3053     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
3054     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
3055     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
3056     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
3057     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
3058     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3059     * @crossplatform
3060     * @since 12
3061     */
3062    getDouble(columnIndex: number): number;
3063
3064    /**
3065     * Obtains the value of the specified column in the current row as an asset.
3066     * The implementation class determines whether to throw an exception if the value of the specified column
3067     * in the current row is null or the specified column is not of the Asset type.
3068     *
3069     * @param { number } columnIndex - Indicates the specified column index, which starts from 0.
3070     * @returns { Asset } The value of the specified column as an asset.
3071     * @throws { BusinessError } 14800013 - The column value is null or the column type is incompatible.
3072     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3073     * <br>2. Incorrect parameter types.
3074     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3075     * @crossplatform
3076     * @since 10
3077     */
3078    /**
3079     * Obtains the value of the specified column in the current row as an asset.
3080     * The implementation class determines whether to throw an exception if the value of the specified column
3081     * in the current row is null or the specified column is not of the Asset type.
3082     *
3083     * @param { number } columnIndex - Indicates the specified column index, which starts from 0.
3084     * @returns { Asset } The value of the specified column as an asset.
3085     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3086     * <br>2. Incorrect parameter types.
3087     * @throws { BusinessError } 14800000 - Inner error.
3088     * @throws { BusinessError } 14800011 - Database corrupted.
3089     * @throws { BusinessError } 14800012 - Row out of bounds.
3090     * @throws { BusinessError } 14800013 - Column out of bounds.
3091     * @throws { BusinessError } 14800014 - Already closed.
3092     * @throws { BusinessError } 14800021 - SQLite: Generic error.
3093     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
3094     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
3095     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
3096     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
3097     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
3098     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
3099     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
3100     * @throws { BusinessError } 14800029 - SQLite: The database is full.
3101     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
3102     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
3103     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
3104     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
3105     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
3106     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3107     * @crossplatform
3108     * @since 12
3109     */
3110    getAsset(columnIndex: number): Asset;
3111
3112    /**
3113     * Obtains the value of the specified column in the current row as assets.
3114     * The implementation class determines whether to throw an exception if the value of the specified column
3115     * in the current row is null or the specified column is not of the Assets type.
3116     *
3117     * @param { number } columnIndex - Indicates the specified column index, which starts from 0.
3118     * @returns { Assets } The value of the specified column as assets.
3119     * @throws { BusinessError } 14800013 - The column value is null or the column type is incompatible.
3120     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3121     * <br>2. Incorrect parameter types.
3122     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3123     * @crossplatform
3124     * @since 10
3125     */
3126    /**
3127     * Obtains the value of the specified column in the current row as assets.
3128     * The implementation class determines whether to throw an exception if the value of the specified column
3129     * in the current row is null or the specified column is not of the Assets type.
3130     *
3131     * @param { number } columnIndex - Indicates the specified column index, which starts from 0.
3132     * @returns { Assets } The value of the specified column as assets.
3133     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3134     * <br>2. Incorrect parameter types.
3135     * @throws { BusinessError } 14800000 - Inner error.
3136     * @throws { BusinessError } 14800011 - Database corrupted.
3137     * @throws { BusinessError } 14800012 - Row out of bounds.
3138     * @throws { BusinessError } 14800013 - Column out of bounds.
3139     * @throws { BusinessError } 14800014 - Already closed.
3140     * @throws { BusinessError } 14800021 - SQLite: Generic error.
3141     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
3142     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
3143     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
3144     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
3145     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
3146     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
3147     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
3148     * @throws { BusinessError } 14800029 - SQLite: The database is full.
3149     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
3150     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
3151     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
3152     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
3153     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
3154     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3155     * @crossplatform
3156     * @since 12
3157     */
3158    getAssets(columnIndex: number): Assets;
3159
3160    /**
3161     * Obtains the value of the specified column in the current row.
3162     * The implementation class determines whether to throw an exception if the value of the specified column
3163     * in the current row is null or the specified column is not of the Assets type.
3164     *
3165     * @param { number } columnIndex - Indicates the specified column index, which starts from 0.
3166     * @returns { ValueType } The value of the specified column.
3167     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3168     * <br>2. Incorrect parameter types.
3169     * @throws { BusinessError } 14800000 - Inner error.
3170     * @throws { BusinessError } 14800011 - Database corrupted.
3171     * @throws { BusinessError } 14800012 - Row out of bounds.
3172     * @throws { BusinessError } 14800013 - Column out of bounds.
3173     * @throws { BusinessError } 14800014 - Already closed.
3174     * @throws { BusinessError } 14800021 - SQLite: Generic error.
3175     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
3176     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
3177     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
3178     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
3179     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
3180     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
3181     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
3182     * @throws { BusinessError } 14800029 - SQLite: The database is full.
3183     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
3184     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
3185     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
3186     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
3187     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
3188     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3189     * @since 12
3190     */
3191    getValue(columnIndex: number): ValueType;
3192
3193    /**
3194     * Obtains the value of the specified column in the current row as a float array.
3195     * The implementation class determines whether to throw an exception if the value of the specified column
3196     * in the current row is null or the specified column is not of the float array type.
3197     *
3198     * @param { number } columnIndex - Indicates the specified column index, which starts from 0.
3199     * @returns { Float32Array } The value of the specified column as a float array.
3200     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3201     * <br>2. Incorrect parameter types.
3202     * @throws { BusinessError } 801 - The capability is not supported because the database is not a vector DB.
3203     * @throws { BusinessError } 14800011 - Database corrupted.
3204     * @throws { BusinessError } 14800013 - Column out of bounds.
3205     * @throws { BusinessError } 14800014 - Already closed.
3206     * @throws { BusinessError } 14800021 - SQLite: Generic error.
3207     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
3208     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
3209     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
3210     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
3211     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
3212     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
3213     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
3214     * @throws { BusinessError } 14800029 - SQLite: The database is full.
3215     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
3216     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
3217     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
3218     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
3219     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
3220     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3221     * @systemapi
3222     * @since 12
3223     */
3224    getFloat32Array(columnIndex: number): Float32Array;
3225
3226    /**
3227     * Obtains the values of all columns in the specified row.
3228     *
3229     * @returns { ValuesBucket } Indicates the row of data {@link ValuesBucket} to be inserted into the table.
3230     * @throws { BusinessError } 14800000 - Inner error.
3231     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3232     * @crossplatform
3233     * @since 11
3234     */
3235    /**
3236     * Obtains the values of all columns in the specified row.
3237     *
3238     * @returns { ValuesBucket } Indicates the row of data {@link ValuesBucket} to be inserted into the table.
3239     * @throws { BusinessError } 14800000 - Inner error.
3240     * @throws { BusinessError } 14800011 - Database corrupted.
3241     * @throws { BusinessError } 14800012 - Row out of bounds.
3242     * @throws { BusinessError } 14800013 - Column out of bounds.
3243     * @throws { BusinessError } 14800014 - Already closed.
3244     * @throws { BusinessError } 14800021 - SQLite: Generic error.
3245     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
3246     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
3247     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
3248     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
3249     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
3250     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
3251     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
3252     * @throws { BusinessError } 14800029 - SQLite: The database is full.
3253     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
3254     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
3255     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
3256     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
3257     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
3258     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3259     * @crossplatform
3260     * @since 12
3261     */
3262    getRow(): ValuesBucket;
3263
3264    /**
3265     * Obtains the values of all columns in the specified row.
3266     *
3267     * @returns { sendableRelationalStore.ValuesBucket } Indicates the row of data
3268     *   {@link sendableRelationalStore.ValuesBucket} to be inserted into the table.
3269     * @throws { BusinessError } 14800000 - Inner error.
3270     * @throws { BusinessError } 14800011 - Database corrupted.
3271     * @throws { BusinessError } 14800012 - Row out of bounds.
3272     * @throws { BusinessError } 14800013 - Column out of bounds.
3273     * @throws { BusinessError } 14800014 - Already closed.
3274     * @throws { BusinessError } 14800021 - SQLite: Generic error.
3275     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
3276     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
3277     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
3278     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
3279     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
3280     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
3281     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
3282     * @throws { BusinessError } 14800029 - SQLite: The database is full.
3283     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
3284     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
3285     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
3286     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
3287     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
3288     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3289     * @since 12
3290     */
3291    getSendableRow(): sendableRelationalStore.ValuesBucket;
3292
3293    /**
3294     * Checks whether the value of the specified column in the current row is null.
3295     *
3296     * @param { number } columnIndex - Indicates the specified column index, which starts from 0.
3297     * @returns { boolean } True if the value of the specified column in the current row is null;
3298     *                    Returns false otherwise.
3299     * @throws { BusinessError } 14800013 - The column value is null or the column type is incompatible.
3300     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3301     * <br>2. Incorrect parameter types.
3302     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3303     * @since 9
3304     */
3305    /**
3306     * Checks whether the value of the specified column in the current row is null.
3307     *
3308     * @param { number } columnIndex - Indicates the specified column index, which starts from 0.
3309     * @returns { boolean } True if the value of the specified column in the current row is null;
3310     *                    Returns false otherwise.
3311     * @throws { BusinessError } 14800013 - The column value is null or the column type is incompatible.
3312     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3313     * <br>2. Incorrect parameter types.
3314     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3315     * @crossplatform
3316     * @since 10
3317     */
3318    /**
3319     * Checks whether the value of the specified column in the current row is null.
3320     *
3321     * @param { number } columnIndex - Indicates the specified column index, which starts from 0.
3322     * @returns { boolean } True if the value of the specified column in the current row is null;
3323     *                    Returns false otherwise.
3324     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3325     * <br>2. Incorrect parameter types.
3326     * @throws { BusinessError } 14800000 - Inner error.
3327     * @throws { BusinessError } 14800011 - Database corrupted.
3328     * @throws { BusinessError } 14800012 - Row out of bounds.
3329     * @throws { BusinessError } 14800013 - Column out of bounds.
3330     * @throws { BusinessError } 14800014 - Already closed.
3331     * @throws { BusinessError } 14800021 - SQLite: Generic error.
3332     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
3333     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
3334     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
3335     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
3336     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
3337     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
3338     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
3339     * @throws { BusinessError } 14800029 - SQLite: The database is full.
3340     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
3341     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
3342     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
3343     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
3344     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
3345     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3346     * @crossplatform
3347     * @since 12
3348     */
3349    isColumnNull(columnIndex: number): boolean;
3350
3351    /**
3352     * Closes the result set.
3353     * Calling this method on the result set will release all of its resources and makes it ineffective.
3354     *
3355     * @throws { BusinessError } 14800012 - The result set is empty or the specified location is invalid.
3356     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3357     * @since 9
3358     */
3359    /**
3360     * Closes the result set.
3361     * Calling this method on the result set will release all of its resources and makes it ineffective.
3362     *
3363     * @throws { BusinessError } 14800012 - The result set is empty or the specified location is invalid.
3364     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3365     * @crossplatform
3366     * @since 10
3367     */
3368    /**
3369     * Closes the result set.
3370     * Calling this method on the result set will release all of its resources and makes it ineffective.
3371     *
3372     * @throws { BusinessError } 14800000 - Inner error.
3373     * @throws { BusinessError } 14800012 - Row out of bounds.
3374     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3375     * @crossplatform
3376     * @since 12
3377     */
3378    close(): void;
3379  }
3380
3381  /**
3382   * Provides methods for managing the relational database (RDB).
3383   * This class provides methods for creating, querying, updating, and deleting RDBs.
3384   *
3385   * @interface RdbStore
3386   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3387   * @since 9
3388   */
3389  /**
3390   * Provides methods for managing the relational database (RDB).
3391   * This class provides methods for creating, querying, updating, and deleting RDBs.
3392   *
3393   * @interface RdbStore
3394   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3395   * @crossplatform
3396   * @since 10
3397   */
3398  interface RdbStore {
3399    /**
3400     * Set RdbStore version. The version number must be an integer greater than 0.
3401     * Obtains the RdbStore version.
3402     *
3403     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3404     * <br>2. Incorrect parameter types.
3405     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3406     * @since 10
3407     */
3408    /**
3409     * Set RdbStore version. The version number must be an integer greater than 0.
3410     * Obtains the RdbStore version.
3411     *
3412     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3413     * <br>2. Incorrect parameter types.
3414     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3415     * @crossplatform
3416     * @since 10
3417     */
3418    /**
3419     * Set RdbStore version. The version number must be an integer greater than 0.
3420     * Obtains the RdbStore version.
3421     *
3422     * @type { number }
3423     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3424     * <br>2. Incorrect parameter types.
3425     * @throws { BusinessError } 801 - Capability not supported.
3426     * @throws { BusinessError } 14800000 - Inner error.
3427     * @throws { BusinessError } 14800014 - Already closed.
3428     * @throws { BusinessError } 14800015 - The database does not respond.
3429     * @throws { BusinessError } 14800021 - SQLite: Generic error.
3430     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
3431     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
3432     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
3433     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
3434     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
3435     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
3436     * @throws { BusinessError } 14800029 - SQLite: The database is full.
3437     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
3438     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3439     * @crossplatform
3440     * @since 12
3441     */
3442    version: number;
3443
3444    /**
3445     * Set whether the database is rebuilt.
3446     *
3447     * @type {RebuildType}
3448     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3449     * @since 12
3450     */
3451    rebuilt: RebuildType;
3452
3453    /**
3454     * Inserts a row of data into the target table.
3455     *
3456     * @param { string } table - Indicates the target table.
3457     * @param { ValuesBucket } values - Indicates the row of data {@link ValuesBucket} to be inserted into the table.
3458     * @param { AsyncCallback<number> } callback - The row ID if the operation is successful. returns -1 otherwise.
3459     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3460     * <br>2. Incorrect parameter types.
3461     * @throws { BusinessError } 14800000 - Inner error.
3462     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3463     * @since 9
3464     */
3465    /**
3466     * Inserts a row of data into the target table.
3467     *
3468     * @param { string } table - Indicates the target table.
3469     * @param { ValuesBucket } values - Indicates the row of data {@link ValuesBucket} to be inserted into the table.
3470     * @param { AsyncCallback<number> } callback - The row ID if the operation is successful. returns -1 otherwise.
3471     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
3472     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3473     * <br>2. Incorrect parameter types.
3474     * @throws { BusinessError } 14800000 - Inner error.
3475     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3476     * @crossplatform
3477     * @since 10
3478     */
3479    /**
3480     * Inserts a row of data into the target table.
3481     *
3482     * @param { string } table - Indicates the target table.
3483     * @param { ValuesBucket } values - Indicates the row of data {@link ValuesBucket} to be inserted into the table.
3484     * @param { AsyncCallback<number> } callback - The row ID if the operation is successful. returns -1 otherwise.
3485     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3486     * <br>2. Incorrect parameter types.
3487     * @throws { BusinessError } 14800000 - Inner error.
3488     * @throws { BusinessError } 14800011 - Database corrupted.
3489     * @throws { BusinessError } 14800014 - Already closed.
3490     * @throws { BusinessError } 14800015 - The database does not respond.
3491     * @throws { BusinessError } 14800021 - SQLite: Generic error.
3492     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
3493     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
3494     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
3495     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
3496     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
3497     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
3498     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
3499     * @throws { BusinessError } 14800029 - SQLite: The database is full.
3500     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
3501     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
3502     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
3503     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
3504     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
3505     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
3506     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3507     * @crossplatform
3508     * @since 12
3509     */
3510    insert(table: string, values: ValuesBucket, callback: AsyncCallback<number>): void;
3511
3512    /**
3513     * Inserts a row of data into the target table.
3514     *
3515     * @param { string } table - Indicates the target table.
3516     * @param { ValuesBucket } values - Indicates the row of data {@link ValuesBucket} to be inserted into the table.
3517     * @param { ConflictResolution } conflict - Indicates the {@link ConflictResolution} to insert data into the table.
3518     * @param { AsyncCallback<number> } callback - The row ID if the operation is successful. returns -1 otherwise.
3519     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
3520     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3521     * <br>2. Incorrect parameter types.
3522     * @throws { BusinessError } 14800000 - Inner error.
3523     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3524     * @crossplatform
3525     * @since 10
3526     */
3527    /**
3528     * Inserts a row of data into the target table.
3529     *
3530     * @param { string } table - Indicates the target table.
3531     * @param { ValuesBucket } values - Indicates the row of data {@link ValuesBucket} to be inserted into the table.
3532     * @param { ConflictResolution } conflict - Indicates the {@link ConflictResolution} to insert data into the table.
3533     * @param { AsyncCallback<number> } callback - The row ID if the operation is successful. returns -1 otherwise.
3534     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3535     * <br>2. Incorrect parameter types.
3536     * @throws { BusinessError } 14800000 - Inner error.
3537     * @throws { BusinessError } 14800011 - Database corrupted.
3538     * @throws { BusinessError } 14800014 - Already closed.
3539     * @throws { BusinessError } 14800015 - The database does not respond.
3540     * @throws { BusinessError } 14800021 - SQLite: Generic error.
3541     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
3542     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
3543     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
3544     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
3545     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
3546     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
3547     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
3548     * @throws { BusinessError } 14800029 - SQLite: The database is full.
3549     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
3550     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
3551     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
3552     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
3553     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
3554     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
3555     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3556     * @crossplatform
3557     * @since 12
3558     */
3559    insert(table: string, values: ValuesBucket, conflict: ConflictResolution, callback: AsyncCallback<number>): void;
3560
3561    /**
3562     * Inserts a row of data into the target table.
3563     *
3564     * @param { string } table - Indicates the target table.
3565     * @param { ValuesBucket } values - Indicates the row of data {@link ValuesBucket} to be inserted into the table.
3566     * @returns { Promise<number> } The row ID if the operation is successful. return -1 otherwise.
3567     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3568     * <br>2. Incorrect parameter types.
3569     * @throws { BusinessError } 14800000 - Inner error.
3570     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3571     * @since 9
3572     */
3573    /**
3574     * Inserts a row of data into the target table.
3575     *
3576     * @param { string } table - Indicates the target table.
3577     * @param { ValuesBucket } values - Indicates the row of data {@link ValuesBucket} to be inserted into the table.
3578     * @returns { Promise<number> } The row ID if the operation is successful. return -1 otherwise.
3579     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
3580     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3581     * <br>2. Incorrect parameter types.
3582     * @throws { BusinessError } 14800000 - Inner error.
3583     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3584     * @crossplatform
3585     * @since 10
3586     */
3587    /**
3588     * Inserts a row of data into the target table.
3589     *
3590     * @param { string } table - Indicates the target table.
3591     * @param { ValuesBucket } values - Indicates the row of data {@link ValuesBucket} to be inserted into the table.
3592     * @returns { Promise<number> } The row ID if the operation is successful. return -1 otherwise.
3593     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3594     * <br>2. Incorrect parameter types.
3595     * @throws { BusinessError } 14800000 - Inner error.
3596     * @throws { BusinessError } 14800011 - Database corrupted.
3597     * @throws { BusinessError } 14800014 - Already closed.
3598     * @throws { BusinessError } 14800015 - The database does not respond.
3599     * @throws { BusinessError } 14800021 - SQLite: Generic error.
3600     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
3601     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
3602     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
3603     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
3604     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
3605     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
3606     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
3607     * @throws { BusinessError } 14800029 - SQLite: The database is full.
3608     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
3609     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
3610     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
3611     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
3612     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
3613     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
3614     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3615     * @crossplatform
3616     * @since 12
3617     */
3618    insert(table: string, values: ValuesBucket): Promise<number>;
3619
3620    /**
3621     * Inserts a row of data into the target table.
3622     *
3623     * @param { string } table - Indicates the target table.
3624     * @param { ValuesBucket } values - Indicates the row of data {@link ValuesBucket} to be inserted into the table.
3625     * @param { ConflictResolution } conflict - Indicates the {@link ConflictResolution} to insert data into the table.
3626     * @returns { Promise<number> } The row ID if the operation is successful. return -1 otherwise.
3627     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
3628     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3629     * <br>2. Incorrect parameter types.
3630     * @throws { BusinessError } 14800000 - Inner error.
3631     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3632     * @crossplatform
3633     * @since 10
3634     */
3635    /**
3636     * Inserts a row of data into the target table.
3637     *
3638     * @param { string } table - Indicates the target table.
3639     * @param { ValuesBucket } values - Indicates the row of data {@link ValuesBucket} to be inserted into the table.
3640     * @param { ConflictResolution } conflict - Indicates the {@link ConflictResolution} to insert data into the table.
3641     * @returns { Promise<number> } The row ID if the operation is successful. return -1 otherwise.
3642     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3643     * <br>2. Incorrect parameter types.
3644     * @throws { BusinessError } 14800000 - Inner error.
3645     * @throws { BusinessError } 14800011 - Database corrupted.
3646     * @throws { BusinessError } 14800014 - Already closed.
3647     * @throws { BusinessError } 14800015 - The database does not respond.
3648     * @throws { BusinessError } 14800021 - SQLite: Generic error.
3649     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
3650     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
3651     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
3652     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
3653     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
3654     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
3655     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
3656     * @throws { BusinessError } 14800029 - SQLite: The database is full.
3657     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
3658     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
3659     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
3660     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
3661     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
3662     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
3663     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3664     * @crossplatform
3665     * @since 12
3666     */
3667    insert(table: string, values: ValuesBucket, conflict: ConflictResolution): Promise<number>;
3668
3669    /**
3670     * Inserts a row of data into the target table with sync interface.
3671     *
3672     * @param { string } table - Indicates the target table.
3673     * @param { ValuesBucket } values - Indicates the row of data {@link ValuesBucket} to be inserted into the table.
3674     * @param { ConflictResolution } conflict - Indicates the {@link ConflictResolution} to insert data into the table.
3675     * @returns { number } The row ID if the operation is successful. return -1 otherwise.
3676     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3677     * <br>2. Incorrect parameter types.
3678     * @throws { BusinessError } 14800000 - Inner error.
3679     * @throws { BusinessError } 14800011 - Database corrupted.
3680     * @throws { BusinessError } 14800014 - Already closed.
3681     * @throws { BusinessError } 14800015 - The database does not respond.
3682     * @throws { BusinessError } 14800021 - SQLite: Generic error.
3683     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
3684     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
3685     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
3686     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
3687     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
3688     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
3689     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
3690     * @throws { BusinessError } 14800029 - SQLite: The database is full.
3691     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
3692     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
3693     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
3694     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
3695     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
3696     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
3697     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3698     * @crossplatform
3699     * @since 12
3700     */
3701    insertSync(table: string, values: ValuesBucket, conflict?: ConflictResolution): number;
3702
3703    /**
3704     * Inserts a row of data into the target table with sync interface.
3705     *
3706     * @param { string } table - Indicates the target table.
3707     * @param { sendableRelationalStore.ValuesBucket } values - Indicates the row of data
3708     *   {@link sendableRelationalStore.ValuesBucket} to be inserted into the table.
3709     * @param { ConflictResolution } conflict - Indicates the {@link ConflictResolution} to insert data into the table.
3710     * @returns { number } The row ID if the operation is successful. return -1 otherwise.
3711     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3712     * <br>2. Incorrect parameter types.
3713     * @throws { BusinessError } 14800000 - Inner error.
3714     * @throws { BusinessError } 14800011 - Database corrupted.
3715     * @throws { BusinessError } 14800014 - Already closed.
3716     * @throws { BusinessError } 14800015 - The database does not respond.
3717     * @throws { BusinessError } 14800021 - SQLite: Generic error.
3718     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
3719     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
3720     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
3721     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
3722     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
3723     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
3724     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
3725     * @throws { BusinessError } 14800029 - SQLite: The database is full.
3726     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
3727     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
3728     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
3729     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
3730     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
3731     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
3732     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3733     * @since 12
3734     */
3735    insertSync(table: string, values: sendableRelationalStore.ValuesBucket, conflict?: ConflictResolution): number;
3736
3737    /**
3738     * Inserts a batch of data into the target table.
3739     *
3740     * @param { string } table - Indicates the target table.
3741     * @param { Array<ValuesBucket> } values - Indicates the rows of data {@link ValuesBucket} to be inserted into the table.
3742     * @param { AsyncCallback<number> } callback - The number of values that were inserted if the operation is successful. returns -1 otherwise.
3743     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3744     * <br>2. Incorrect parameter types.
3745     * @throws { BusinessError } 14800000 - Inner error.
3746     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3747     * @since 9
3748     */
3749    /**
3750     * Inserts a batch of data into the target table.
3751     *
3752     * @param { string } table - Indicates the target table.
3753     * @param { Array<ValuesBucket> } values - Indicates the rows of data {@link ValuesBucket} to be inserted into the table.
3754     * @param { AsyncCallback<number> } callback - The number of values that were inserted if the operation is successful. returns -1 otherwise.
3755     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
3756     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3757     * <br>2. Incorrect parameter types.
3758     * @throws { BusinessError } 14800000 - Inner error.
3759     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3760     * @crossplatform
3761     * @since 10
3762     */
3763    /**
3764     * Inserts a batch of data into the target table.
3765     *
3766     * @param { string } table - Indicates the target table.
3767     * @param { Array<ValuesBucket> } values - Indicates the rows of data {@link ValuesBucket} to be inserted into the table.
3768     * @param { AsyncCallback<number> } callback - The number of values that were inserted if the operation is successful. returns -1 otherwise.
3769     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3770     * <br>2. Incorrect parameter types.
3771     * @throws { BusinessError } 14800000 - Inner error.
3772     * @throws { BusinessError } 14800011 - Database corrupted.
3773     * @throws { BusinessError } 14800014 - Already closed.
3774     * @throws { BusinessError } 14800015 - The database does not respond.
3775     * @throws { BusinessError } 14800021 - SQLite: Generic error.
3776     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
3777     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
3778     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
3779     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
3780     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
3781     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
3782     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
3783     * @throws { BusinessError } 14800029 - SQLite: The database is full.
3784     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
3785     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
3786     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
3787     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
3788     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
3789     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
3790     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3791     * @crossplatform
3792     * @since 12
3793     */
3794    batchInsert(table: string, values: Array<ValuesBucket>, callback: AsyncCallback<number>): void;
3795
3796    /**
3797     * Inserts a batch of data into the target table.
3798     *
3799     * @param { string } table - Indicates the target table.
3800     * @param { Array<ValuesBucket> } values - Indicates the rows of data {@link ValuesBucket} to be inserted into the table.
3801     * @returns { Promise<number> } The number of values that were inserted if the operation is successful. returns -1 otherwise.
3802     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3803     * <br>2. Incorrect parameter types.
3804     * @throws { BusinessError } 14800000 - Inner error.
3805     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3806     * @since 9
3807     */
3808    /**
3809     * Inserts a batch of data into the target table.
3810     *
3811     * @param { string } table - Indicates the target table.
3812     * @param { Array<ValuesBucket> } values - Indicates the rows of data {@link ValuesBucket} to be inserted into the table.
3813     * @returns { Promise<number> } The number of values that were inserted if the operation is successful. returns -1 otherwise.
3814     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
3815     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3816     * <br>2. Incorrect parameter types.
3817     * @throws { BusinessError } 14800000 - Inner error.
3818     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3819     * @crossplatform
3820     * @since 10
3821     */
3822    /**
3823     * Inserts a batch of data into the target table.
3824     *
3825     * @param { string } table - Indicates the target table.
3826     * @param { Array<ValuesBucket> } values - Indicates the rows of data {@link ValuesBucket} to be inserted into the table.
3827     * @returns { Promise<number> } The number of values that were inserted if the operation is successful. returns -1 otherwise.
3828     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3829     * <br>2. Incorrect parameter types.
3830     * @throws { BusinessError } 14800000 - Inner error.
3831     * @throws { BusinessError } 14800011 - Database corrupted.
3832     * @throws { BusinessError } 14800014 - Already closed.
3833     * @throws { BusinessError } 14800015 - The database does not respond.
3834     * @throws { BusinessError } 14800021 - SQLite: Generic error.
3835     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
3836     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
3837     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
3838     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
3839     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
3840     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
3841     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
3842     * @throws { BusinessError } 14800029 - SQLite: The database is full.
3843     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
3844     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
3845     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
3846     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
3847     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
3848     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
3849     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3850     * @crossplatform
3851     * @since 12
3852     */
3853    batchInsert(table: string, values: Array<ValuesBucket>): Promise<number>;
3854
3855    /**
3856     * Inserts a batch of data into the target table.
3857     *
3858     * @param { string } table - Indicates the target table.
3859     * @param { Array<ValuesBucket> } values - Indicates the rows of data {@link ValuesBucket} to be inserted into the table.
3860     * @returns { number } The number of values that were inserted if the operation is successful. returns -1 otherwise.
3861     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3862     * <br>2. Incorrect parameter types.
3863     * @throws { BusinessError } 14800000 - Inner error.
3864     * @throws { BusinessError } 14800011 - Database corrupted.
3865     * @throws { BusinessError } 14800014 - Already closed.
3866     * @throws { BusinessError } 14800015 - The database does not respond.
3867     * @throws { BusinessError } 14800021 - SQLite: Generic error.
3868     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
3869     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
3870     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
3871     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
3872     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
3873     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
3874     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
3875     * @throws { BusinessError } 14800029 - SQLite: The database is full.
3876     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
3877     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
3878     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
3879     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
3880     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
3881     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
3882     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3883     * @crossplatform
3884     * @since 12
3885     */
3886    batchInsertSync(table: string, values: Array<ValuesBucket>): number;
3887
3888    /**
3889     * Updates data in the database based on a specified instance object of RdbPredicates.
3890     *
3891     * @param { ValuesBucket } values - Indicates the row of data to be updated in the database.
3892     *                         The key-value pairs are associated with column names of the database table.
3893     * @param { RdbPredicates } predicates - Indicates the specified update condition by the instance object of  {@link RdbPredicates}.
3894     * @param { AsyncCallback<number> } callback - The number of affected rows.
3895     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3896     * <br>2. Incorrect parameter types.
3897     * @throws { BusinessError } 14800000 - Inner error.
3898     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3899     * @since 9
3900     */
3901    /**
3902     * Updates data in the database based on a specified instance object of RdbPredicates.
3903     *
3904     * @param { ValuesBucket } values - Indicates the row of data to be updated in the database.
3905     *                         The key-value pairs are associated with column names of the database table.
3906     * @param { RdbPredicates } predicates - Indicates the specified update condition by the instance object of  {@link RdbPredicates}.
3907     * @param { AsyncCallback<number> } callback - The number of affected rows.
3908     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
3909     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3910     * <br>2. Incorrect parameter types.
3911     * @throws { BusinessError } 14800000 - Inner error.
3912     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3913     * @crossplatform
3914     * @since 10
3915     */
3916    /**
3917     * Updates data in the database based on a specified instance object of RdbPredicates.
3918     *
3919     * @param { ValuesBucket } values - Indicates the row of data to be updated in the database.
3920     *                         The key-value pairs are associated with column names of the database table.
3921     * @param { RdbPredicates } predicates - Indicates the specified update condition by the instance object of  {@link RdbPredicates}.
3922     * @param { AsyncCallback<number> } callback - The number of affected rows.
3923     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3924     * <br>2. Incorrect parameter types.
3925     * @throws { BusinessError } 14800000 - Inner error.
3926     * @throws { BusinessError } 14800011 - Database corrupted.
3927     * @throws { BusinessError } 14800014 - Already closed.
3928     * @throws { BusinessError } 14800015 - The database does not respond.
3929     * @throws { BusinessError } 14800021 - SQLite: Generic error.
3930     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
3931     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
3932     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
3933     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
3934     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
3935     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
3936     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
3937     * @throws { BusinessError } 14800029 - SQLite: The database is full.
3938     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
3939     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
3940     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
3941     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
3942     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
3943     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
3944     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3945     * @crossplatform
3946     * @since 12
3947     */
3948    update(values: ValuesBucket, predicates: RdbPredicates, callback: AsyncCallback<number>): void;
3949
3950    /**
3951     * Updates data in the database based on a specified instance object of RdbPredicates.
3952     *
3953     * @param { ValuesBucket } values - Indicates the row of data to be updated in the database.
3954     *                         The key-value pairs are associated with column names of the database table.
3955     * @param { RdbPredicates } predicates - Indicates the specified update condition by the instance object of  {@link RdbPredicates}.
3956     * @param { ConflictResolution } conflict - Indicates the {@link ConflictResolution} to insert data into the table.
3957     * @param { AsyncCallback<number> } callback - The number of affected rows.
3958     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
3959     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3960     * <br>2. Incorrect parameter types.
3961     * @throws { BusinessError } 14800000 - Inner error.
3962     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3963     * @crossplatform
3964     * @since 10
3965     */
3966    /**
3967     * Updates data in the database based on a specified instance object of RdbPredicates.
3968     *
3969     * @param { ValuesBucket } values - Indicates the row of data to be updated in the database.
3970     *                         The key-value pairs are associated with column names of the database table.
3971     * @param { RdbPredicates } predicates - Indicates the specified update condition by the instance object of  {@link RdbPredicates}.
3972     * @param { ConflictResolution } conflict - Indicates the {@link ConflictResolution} to insert data into the table.
3973     * @param { AsyncCallback<number> } callback - The number of affected rows.
3974     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
3975     * <br>2. Incorrect parameter types.
3976     * @throws { BusinessError } 14800000 - Inner error.
3977     * @throws { BusinessError } 14800011 - Database corrupted.
3978     * @throws { BusinessError } 14800014 - Already closed.
3979     * @throws { BusinessError } 14800015 - The database does not respond.
3980     * @throws { BusinessError } 14800021 - SQLite: Generic error.
3981     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
3982     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
3983     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
3984     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
3985     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
3986     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
3987     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
3988     * @throws { BusinessError } 14800029 - SQLite: The database is full.
3989     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
3990     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
3991     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
3992     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
3993     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
3994     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
3995     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
3996     * @crossplatform
3997     * @since 12
3998     */
3999    update(
4000      values: ValuesBucket,
4001      predicates: RdbPredicates,
4002      conflict: ConflictResolution,
4003      callback: AsyncCallback<number>
4004    ): void;
4005
4006    /**
4007     * Updates data in the database based on a specified instance object of RdbPredicates.
4008     *
4009     * @param { ValuesBucket } values - Indicates the row of data to be updated in the database.
4010     *                         The key-value pairs are associated with column names of the database table.
4011     * @param { RdbPredicates } predicates - Indicates the specified update condition by the instance object of  {@link RdbPredicates}.
4012     * @returns { Promise<number> } The number of affected rows.
4013     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4014     * <br>2. Incorrect parameter types.
4015     * @throws { BusinessError } 14800000 - Inner error.
4016     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4017     * @since 9
4018     */
4019    /**
4020     * Updates data in the database based on a specified instance object of RdbPredicates.
4021     *
4022     * @param { ValuesBucket } values - Indicates the row of data to be updated in the database.
4023     *                         The key-value pairs are associated with column names of the database table.
4024     * @param { RdbPredicates } predicates - Indicates the specified update condition by the instance object of  {@link RdbPredicates}.
4025     * @returns { Promise<number> } The number of affected rows.
4026     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
4027     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4028     * <br>2. Incorrect parameter types.
4029     * @throws { BusinessError } 14800000 - Inner error.
4030     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4031     * @crossplatform
4032     * @since 10
4033     */
4034    /**
4035     * Updates data in the database based on a specified instance object of RdbPredicates.
4036     *
4037     * @param { ValuesBucket } values - Indicates the row of data to be updated in the database.
4038     *                         The key-value pairs are associated with column names of the database table.
4039     * @param { RdbPredicates } predicates - Indicates the specified update condition by the instance object of  {@link RdbPredicates}.
4040     * @returns { Promise<number> } The number of affected rows.
4041     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4042     * <br>2. Incorrect parameter types.
4043     * @throws { BusinessError } 14800000 - Inner error.
4044     * @throws { BusinessError } 14800011 - Database corrupted.
4045     * @throws { BusinessError } 14800014 - Already closed.
4046     * @throws { BusinessError } 14800015 - The database does not respond.
4047     * @throws { BusinessError } 14800021 - SQLite: Generic error.
4048     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
4049     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
4050     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
4051     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
4052     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
4053     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
4054     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
4055     * @throws { BusinessError } 14800029 - SQLite: The database is full.
4056     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
4057     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
4058     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
4059     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
4060     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
4061     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
4062     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4063     * @crossplatform
4064     * @since 12
4065     */
4066    update(values: ValuesBucket, predicates: RdbPredicates): Promise<number>;
4067
4068    /**
4069     * Updates data in the database based on a specified instance object of RdbPredicates.
4070     *
4071     * @param { ValuesBucket } values - Indicates the row of data to be updated in the database.
4072     *                         The key-value pairs are associated with column names of the database table.
4073     * @param { RdbPredicates } predicates - Indicates the specified update condition by the instance object of  {@link RdbPredicates}.
4074     * @param { ConflictResolution } conflict - Indicates the {@link ConflictResolution} to insert data into the table.
4075     * @returns { Promise<number> } The number of affected rows.
4076     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
4077     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4078     * <br>2. Incorrect parameter types.
4079     * @throws { BusinessError } 14800000 - Inner error.
4080     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4081     * @crossplatform
4082     * @since 10
4083     */
4084    /**
4085     * Updates data in the database based on a specified instance object of RdbPredicates.
4086     *
4087     * @param { ValuesBucket } values - Indicates the row of data to be updated in the database.
4088     *                         The key-value pairs are associated with column names of the database table.
4089     * @param { RdbPredicates } predicates - Indicates the specified update condition by the instance object of  {@link RdbPredicates}.
4090     * @param { ConflictResolution } conflict - Indicates the {@link ConflictResolution} to insert data into the table.
4091     * @returns { Promise<number> } The number of affected rows.
4092     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4093     * <br>2. Incorrect parameter types.
4094     * @throws { BusinessError } 14800000 - Inner error.
4095     * @throws { BusinessError } 14800011 - Database corrupted.
4096     * @throws { BusinessError } 14800014 - Already closed.
4097     * @throws { BusinessError } 14800015 - The database does not respond.
4098     * @throws { BusinessError } 14800021 - SQLite: Generic error.
4099     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
4100     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
4101     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
4102     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
4103     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
4104     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
4105     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
4106     * @throws { BusinessError } 14800029 - SQLite: The database is full.
4107     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
4108     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
4109     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
4110     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
4111     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
4112     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
4113     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4114     * @crossplatform
4115     * @since 12
4116     */
4117    update(values: ValuesBucket, predicates: RdbPredicates, conflict: ConflictResolution): Promise<number>;
4118
4119    /**
4120     * Updates data in the database based on a specified instance object of RdbPredicates with sync interface.
4121     *
4122     * @param { ValuesBucket } values - Indicates the row of data to be updated in the database.
4123     *                         The key-value pairs are associated with column names of the database table.
4124     * @param { RdbPredicates } predicates - Indicates the specified update condition by the instance object of  {@link RdbPredicates}.
4125     * @param { ConflictResolution } conflict - Indicates the {@link ConflictResolution} to insert data into the table.
4126     * @returns { number } The number of affected rows.
4127     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4128     * <br>2. Incorrect parameter types.
4129     * @throws { BusinessError } 14800000 - Inner error.
4130     * @throws { BusinessError } 14800011 - Database corrupted.
4131     * @throws { BusinessError } 14800014 - Already closed.
4132     * @throws { BusinessError } 14800015 - The database does not respond.
4133     * @throws { BusinessError } 14800021 - SQLite: Generic error.
4134     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
4135     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
4136     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
4137     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
4138     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
4139     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
4140     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
4141     * @throws { BusinessError } 14800029 - SQLite: The database is full.
4142     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
4143     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
4144     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
4145     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
4146     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
4147     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
4148     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4149     * @crossplatform
4150     * @since 12
4151     */
4152    updateSync(values: ValuesBucket, predicates: RdbPredicates, conflict?: ConflictResolution): number;
4153
4154    /**
4155     * Updates data in the database based on a specified instance object of RdbPredicates.
4156     *
4157     * @param { string } table - Indicates the target table.
4158     * @param { ValuesBucket } values - Indicates the row of data to be updated in the database.
4159     *                         The key-value pairs are associated with column names of the database table.
4160     * @param { dataSharePredicates.DataSharePredicates } predicates - Indicates the specified update condition by
4161     *                                                    the instance object of {@link dataSharePredicates.DataSharePredicates}.
4162     * @param { AsyncCallback<number> } callback - The number of affected rows.
4163     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4164     * <br>2. Incorrect parameter types.
4165     * @throws { BusinessError } 14800000 - Inner error.
4166     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
4167     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4168     * @systemapi
4169     * @StageModelOnly
4170     * @since 9
4171     */
4172    /**
4173     * Updates data in the database based on a specified instance object of RdbPredicates.
4174     *
4175     * @param { string } table - Indicates the target table.
4176     * @param { ValuesBucket } values - Indicates the row of data to be updated in the database.
4177     *                         The key-value pairs are associated with column names of the database table.
4178     * @param { dataSharePredicates.DataSharePredicates } predicates - Indicates the specified update condition by
4179     *                                                    the instance object of {@link dataSharePredicates.DataSharePredicates}.
4180     * @param { AsyncCallback<number> } callback - The number of affected rows.
4181     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
4182     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4183     * <br>2. Incorrect parameter types.
4184     * @throws { BusinessError } 14800000 - Inner error.
4185     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
4186     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4187     * @systemapi
4188     * @StageModelOnly
4189     * @since 10
4190     */
4191    /**
4192     * Updates data in the database based on a specified instance object of RdbPredicates.
4193     *
4194     * @param { string } table - Indicates the target table.
4195     * @param { ValuesBucket } values - Indicates the row of data to be updated in the database.
4196     *                         The key-value pairs are associated with column names of the database table.
4197     * @param { dataSharePredicates.DataSharePredicates } predicates - Indicates the specified update condition by
4198     *                                                    the instance object of {@link dataSharePredicates.DataSharePredicates}.
4199     * @param { AsyncCallback<number> } callback - The number of affected rows.
4200     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
4201     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4202     * <br>2. Incorrect parameter types.
4203     * @throws { BusinessError } 14800000 - Inner error.
4204     * @throws { BusinessError } 14800011 - Database corrupted.
4205     * @throws { BusinessError } 14800014 - Already closed.
4206     * @throws { BusinessError } 14800015 - The database does not respond.
4207     * @throws { BusinessError } 14800021 - SQLite: Generic error.
4208     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
4209     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
4210     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
4211     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
4212     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
4213     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
4214     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
4215     * @throws { BusinessError } 14800029 - SQLite: The database is full.
4216     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
4217     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
4218     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
4219     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
4220     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
4221     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
4222     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4223     * @systemapi
4224     * @StageModelOnly
4225     * @since 12
4226     */
4227    update(
4228      table: string,
4229      values: ValuesBucket,
4230      predicates: dataSharePredicates.DataSharePredicates,
4231      callback: AsyncCallback<number>
4232    ): void;
4233
4234    /**
4235     * Updates data in the database based on a specified instance object of RdbPredicates.
4236     *
4237     * @param { string } table - Indicates the target table.
4238     * @param { ValuesBucket } values - Indicates the row of data to be updated in the database.
4239     *                         The key-value pairs are associated with column names of the database table.
4240     * @param { dataSharePredicates.DataSharePredicates } predicates - Indicates the specified update condition by
4241     *                                                    the instance object of {@link dataSharePredicates.DataSharePredicates}.
4242     * @returns { Promise<number> } The number of affected rows.
4243     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4244     * <br>2. Incorrect parameter types.
4245     * @throws { BusinessError } 14800000 - Inner error.
4246     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
4247     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4248     * @systemapi
4249     * @StageModelOnly
4250     * @since 9
4251     */
4252    /**
4253     * Updates data in the database based on a specified instance object of RdbPredicates.
4254     *
4255     * @param { string } table - Indicates the target table.
4256     * @param { ValuesBucket } values - Indicates the row of data to be updated in the database.
4257     *                         The key-value pairs are associated with column names of the database table.
4258     * @param { dataSharePredicates.DataSharePredicates } predicates - Indicates the specified update condition by
4259     *                                                    the instance object of {@link dataSharePredicates.DataSharePredicates}.
4260     * @returns { Promise<number> } The number of affected rows.
4261     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
4262     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4263     * <br>2. Incorrect parameter types.
4264     * @throws { BusinessError } 14800000 - Inner error.
4265     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
4266     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4267     * @systemapi
4268     * @StageModelOnly
4269     * @since 10
4270     */
4271    /**
4272     * Updates data in the database based on a specified instance object of RdbPredicates.
4273     *
4274     * @param { string } table - Indicates the target table.
4275     * @param { ValuesBucket } values - Indicates the row of data to be updated in the database.
4276     *                         The key-value pairs are associated with column names of the database table.
4277     * @param { dataSharePredicates.DataSharePredicates } predicates - Indicates the specified update condition by
4278     *                                                    the instance object of {@link dataSharePredicates.DataSharePredicates}.
4279     * @returns { Promise<number> } The number of affected rows.
4280     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
4281     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4282     * <br>2. Incorrect parameter types.
4283     * @throws { BusinessError } 14800000 - Inner error.
4284     * @throws { BusinessError } 14800011 - Database corrupted.
4285     * @throws { BusinessError } 14800014 - Already closed.
4286     * @throws { BusinessError } 14800015 - The database does not respond.
4287     * @throws { BusinessError } 14800021 - SQLite: Generic error.
4288     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
4289     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
4290     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
4291     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
4292     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
4293     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
4294     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
4295     * @throws { BusinessError } 14800029 - SQLite: The database is full.
4296     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
4297     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
4298     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
4299     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
4300     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
4301     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
4302     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4303     * @systemapi
4304     * @StageModelOnly
4305     * @since 12
4306     */
4307    update(table: string, values: ValuesBucket, predicates: dataSharePredicates.DataSharePredicates): Promise<number>;
4308
4309    /**
4310     * Deletes data from the database based on a specified instance object of RdbPredicates.
4311     *
4312     * @param { RdbPredicates } predicates - The specified delete condition by the instance object of {@link RdbPredicates}.
4313     * @param { AsyncCallback<number> } callback - The number of affected rows.
4314     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4315     * <br>2. Incorrect parameter types.
4316     * @throws { BusinessError } 14800000 - Inner error.
4317     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4318     * @since 9
4319     */
4320    /**
4321     * Deletes data from the database based on a specified instance object of RdbPredicates.
4322     *
4323     * @param { RdbPredicates } predicates - The specified delete condition by the instance object of {@link RdbPredicates}.
4324     * @param { AsyncCallback<number> } callback - The number of affected rows.
4325     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
4326     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4327     * <br>2. Incorrect parameter types.
4328     * @throws { BusinessError } 14800000 - Inner error.
4329     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4330     * @crossplatform
4331     * @since 10
4332     */
4333    /**
4334     * Deletes data from the database based on a specified instance object of RdbPredicates.
4335     *
4336     * @param { RdbPredicates } predicates - The specified delete condition by the instance object of {@link RdbPredicates}.
4337     * @param { AsyncCallback<number> } callback - The number of affected rows.
4338     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4339     * <br>2. Incorrect parameter types.
4340     * @throws { BusinessError } 14800000 - Inner error.
4341     * @throws { BusinessError } 14800011 - Database corrupted.
4342     * @throws { BusinessError } 14800014 - Already closed.
4343     * @throws { BusinessError } 14800015 - The database does not respond.
4344     * @throws { BusinessError } 14800021 - SQLite: Generic error.
4345     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
4346     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
4347     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
4348     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
4349     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
4350     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
4351     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
4352     * @throws { BusinessError } 14800029 - SQLite: The database is full.
4353     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
4354     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
4355     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
4356     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
4357     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
4358     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
4359     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4360     * @crossplatform
4361     * @since 12
4362     */
4363    delete(predicates: RdbPredicates, callback: AsyncCallback<number>): void;
4364
4365    /**
4366     * Deletes data from the database based on a specified instance object of RdbPredicates.
4367     *
4368     * @param { RdbPredicates } predicates - The specified delete condition by the instance object of {@link RdbPredicates}.
4369     * @returns { Promise<number> } The number of affected rows.
4370     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4371     * <br>2. Incorrect parameter types.
4372     * @throws { BusinessError } 14800000 - Inner error.
4373     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4374     * @since 9
4375     */
4376    /**
4377     * Deletes data from the database based on a specified instance object of RdbPredicates.
4378     *
4379     * @param { RdbPredicates } predicates - The specified delete condition by the instance object of {@link RdbPredicates}.
4380     * @returns { Promise<number> } return the number of affected rows.
4381     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
4382     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4383     * <br>2. Incorrect parameter types.
4384     * @throws { BusinessError } 14800000 - Inner error.
4385     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4386     * @crossplatform
4387     * @since 10
4388     */
4389    /**
4390     * Deletes data from the database based on a specified instance object of RdbPredicates.
4391     *
4392     * @param { RdbPredicates } predicates - The specified delete condition by the instance object of {@link RdbPredicates}.
4393     * @returns { Promise<number> } return the number of affected rows.
4394     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4395     * <br>2. Incorrect parameter types.
4396     * @throws { BusinessError } 14800000 - Inner error.
4397     * @throws { BusinessError } 14800011 - Database corrupted.
4398     * @throws { BusinessError } 14800014 - Already closed.
4399     * @throws { BusinessError } 14800015 - The database does not respond.
4400     * @throws { BusinessError } 14800021 - SQLite: Generic error.
4401     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
4402     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
4403     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
4404     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
4405     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
4406     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
4407     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
4408     * @throws { BusinessError } 14800029 - SQLite: The database is full.
4409     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
4410     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
4411     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
4412     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
4413     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
4414     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
4415     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4416     * @crossplatform
4417     * @since 12
4418     */
4419    delete(predicates: RdbPredicates): Promise<number>;
4420
4421    /**
4422     * Deletes data from the database based on a specified instance object of RdbPredicates with sync interface.
4423     *
4424     * @param { RdbPredicates } predicates - The specified delete condition by the instance object of {@link RdbPredicates}.
4425     * @returns { number } return the number of affected rows.
4426     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4427     * <br>2. Incorrect parameter types.
4428     * @throws { BusinessError } 14800000 - Inner error.
4429     * @throws { BusinessError } 14800011 - Database corrupted.
4430     * @throws { BusinessError } 14800014 - Already closed.
4431     * @throws { BusinessError } 14800015 - The database does not respond.
4432     * @throws { BusinessError } 14800021 - SQLite: Generic error.
4433     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
4434     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
4435     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
4436     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
4437     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
4438     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
4439     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
4440     * @throws { BusinessError } 14800029 - SQLite: The database is full.
4441     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
4442     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
4443     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
4444     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
4445     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
4446     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
4447     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4448     * @crossplatform
4449     * @since 12
4450     */
4451    deleteSync(predicates: RdbPredicates): number;
4452    /**
4453     * Deletes data from the database based on a specified instance object of RdbPredicates.
4454     *
4455     * @param { string } table - Indicates the target table.
4456     * @param { dataSharePredicates.DataSharePredicates } predicates - The specified delete condition by
4457     *                                                    the instance object of {@link dataSharePredicates.DataSharePredicates}.
4458     * @param { AsyncCallback<number> } callback - The number of affected rows.
4459     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4460     * <br>2. Incorrect parameter types.
4461     * @throws { BusinessError } 14800000 - Inner error.
4462     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
4463     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4464     * @systemapi
4465     * @StageModelOnly
4466     * @since 9
4467     */
4468    /**
4469     * Deletes data from the database based on a specified instance object of RdbPredicates.
4470     *
4471     * @param { string } table - Indicates the target table.
4472     * @param { dataSharePredicates.DataSharePredicates } predicates - The specified delete condition by the instance object
4473     *                                                    of {@link dataSharePredicates.DataSharePredicates}.
4474     * @param { AsyncCallback<number> } callback - The number of affected rows.
4475     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
4476     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4477     * <br>2. Incorrect parameter types.
4478     * @throws { BusinessError } 14800000 - Inner error.
4479     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
4480     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4481     * @systemapi
4482     * @StageModelOnly
4483     * @since 10
4484     */
4485    /**
4486     * Deletes data from the database based on a specified instance object of RdbPredicates.
4487     *
4488     * @param { string } table - Indicates the target table.
4489     * @param { dataSharePredicates.DataSharePredicates } predicates - The specified delete condition by the instance object
4490     *                                                    of {@link dataSharePredicates.DataSharePredicates}.
4491     * @param { AsyncCallback<number> } callback - The number of affected rows.
4492     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
4493     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4494     * <br>2. Incorrect parameter types.
4495     * @throws { BusinessError } 14800000 - Inner error.
4496     * @throws { BusinessError } 14800011 - Database corrupted.
4497     * @throws { BusinessError } 14800014 - Already closed.
4498     * @throws { BusinessError } 14800015 - The database does not respond.
4499     * @throws { BusinessError } 14800021 - SQLite: Generic error.
4500     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
4501     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
4502     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
4503     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
4504     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
4505     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
4506     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
4507     * @throws { BusinessError } 14800029 - SQLite: The database is full.
4508     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
4509     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
4510     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
4511     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
4512     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
4513     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
4514     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4515     * @systemapi
4516     * @StageModelOnly
4517     * @since 12
4518     */
4519    delete(table: string, predicates: dataSharePredicates.DataSharePredicates, callback: AsyncCallback<number>): void;
4520
4521    /**
4522     * Deletes data from the database based on a specified instance object of RdbPredicates.
4523     *
4524     * @param { string } table - Indicates the target table.
4525     * @param { dataSharePredicates.DataSharePredicates } predicates - The specified delete condition by the instance object
4526     *                                                    of {@link dataSharePredicates.DataSharePredicates}.
4527     * @returns { Promise<number> } The number of affected rows.
4528     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4529     * <br>2. Incorrect parameter types.
4530     * @throws { BusinessError } 14800000 - Inner error.
4531     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
4532     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4533     * @systemapi
4534     * @StageModelOnly
4535     * @since 9
4536     */
4537    /**
4538     * Deletes data from the database based on a specified instance object of RdbPredicates.
4539     *
4540     * @param { string } table - Indicates the target table.
4541     * @param { dataSharePredicates.DataSharePredicates } predicates - The specified delete condition by the instance object
4542     *                                                    of {@link dataSharePredicates.DataSharePredicates}.
4543     * @returns { Promise<number> } The number of affected rows.
4544     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
4545     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4546     * <br>2. Incorrect parameter types.
4547     * @throws { BusinessError } 14800000 - Inner error.
4548     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
4549     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4550     * @systemapi
4551     * @StageModelOnly
4552     * @since 10
4553     */
4554    /**
4555     * Deletes data from the database based on a specified instance object of RdbPredicates.
4556     *
4557     * @param { string } table - Indicates the target table.
4558     * @param { dataSharePredicates.DataSharePredicates } predicates - The specified delete condition by the instance object
4559     *                                                    of {@link dataSharePredicates.DataSharePredicates}.
4560     * @returns { Promise<number> } The number of affected rows.
4561     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
4562     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4563     * <br>2. Incorrect parameter types.
4564     * @throws { BusinessError } 14800000 - Inner error.
4565     * @throws { BusinessError } 14800011 - Database corrupted.
4566     * @throws { BusinessError } 14800014 - Already closed.
4567     * @throws { BusinessError } 14800015 - The database does not respond.
4568     * @throws { BusinessError } 14800021 - SQLite: Generic error.
4569     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
4570     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
4571     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
4572     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
4573     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
4574     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
4575     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
4576     * @throws { BusinessError } 14800029 - SQLite: The database is full.
4577     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
4578     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
4579     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
4580     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
4581     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
4582     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
4583     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4584     * @systemapi
4585     * @StageModelOnly
4586     * @since 12
4587     */
4588    delete(table: string, predicates: dataSharePredicates.DataSharePredicates): Promise<number>;
4589
4590    /**
4591     * Queries data in the database based on specified conditions.
4592     *
4593     * @param { RdbPredicates } predicates - The specified query condition by the instance object of {@link RdbPredicates}.
4594     * @param { AsyncCallback<ResultSet> } callback - The {@link ResultSet} object if the operation is successful.
4595     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4596     * <br>2. Incorrect parameter types.
4597     * @throws { BusinessError } 14800000 - Inner error.
4598     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4599     * @crossplatform
4600     * @since 10
4601     */
4602    /**
4603     * Queries data in the database based on specified conditions.
4604     *
4605     * @param { RdbPredicates } predicates - The specified query condition by the instance object of {@link RdbPredicates}.
4606     * @param { AsyncCallback<ResultSet> } callback - The {@link ResultSet} object if the operation is successful.
4607     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4608     * <br>2. Incorrect parameter types.
4609     * @throws { BusinessError } 14800000 - Inner error.
4610     * @throws { BusinessError } 14800014 - Already closed.
4611     * @throws { BusinessError } 14800015 - The database does not respond.
4612     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4613     * @crossplatform
4614     * @since 12
4615     */
4616    query(predicates: RdbPredicates, callback: AsyncCallback<ResultSet>): void;
4617
4618    /**
4619     * Queries data in the database based on specified conditions.
4620     *
4621     * @param { RdbPredicates } predicates - The specified query condition by the instance object of {@link RdbPredicates}.
4622     * @param { Array<string> } columns - The columns to query. If the value is empty array, the query applies to all columns.
4623     * @param { AsyncCallback<ResultSet> } callback - The {@link ResultSet} object if the operation is successful.
4624     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4625     * <br>2. Incorrect parameter types.
4626     * @throws { BusinessError } 14800000 - Inner error.
4627     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4628     * @since 9
4629     */
4630    /**
4631     * Queries data in the database based on specified conditions.
4632     *
4633     * @param { RdbPredicates } predicates - The specified query condition by the instance object of {@link RdbPredicates}.
4634     * @param { Array<string> } columns - The columns to query. If the value is empty array, the query applies to all columns.
4635     * @param { AsyncCallback<ResultSet> } callback - The {@link ResultSet} object if the operation is successful.
4636     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4637     * <br>2. Incorrect parameter types.
4638     * @throws { BusinessError } 14800000 - Inner error.
4639     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4640     * @crossplatform
4641     * @since 10
4642     */
4643    /**
4644     * Queries data in the database based on specified conditions.
4645     *
4646     * @param { RdbPredicates } predicates - The specified query condition by the instance object of {@link RdbPredicates}.
4647     * @param { Array<string> } columns - The columns to query. If the value is empty array, the query applies to all columns.
4648     * @param { AsyncCallback<ResultSet> } callback - The {@link ResultSet} object if the operation is successful.
4649     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4650     * <br>2. Incorrect parameter types.
4651     * @throws { BusinessError } 14800000 - Inner error.
4652     * @throws { BusinessError } 14800014 - Already closed.
4653     * @throws { BusinessError } 14800015 - The database does not respond.
4654     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4655     * @crossplatform
4656     * @since 12
4657     */
4658    query(predicates: RdbPredicates, columns: Array<string>, callback: AsyncCallback<ResultSet>): void;
4659
4660    /**
4661     * Queries data in the database based on specified conditions.
4662     *
4663     * @param { RdbPredicates } predicates - The specified query condition by the instance object of {@link RdbPredicates}.
4664     * @param { Array<string> } columns - The columns to query. If the value is null, the query applies to all columns.
4665     * @returns { Promise<ResultSet> } The {@link ResultSet} object if the operation is successful.
4666     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4667     * <br>2. Incorrect parameter types.
4668     * @throws { BusinessError } 14800000 - Inner error.
4669     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4670     * @since 9
4671     */
4672    /**
4673     * Queries data in the database based on specified conditions.
4674     *
4675     * @param { RdbPredicates } predicates - The specified query condition by the instance object of {@link RdbPredicates}.
4676     * @param { Array<string> } columns - The columns to query. If the value is null, the query applies to all columns.
4677     * @returns { Promise<ResultSet> } The {@link ResultSet} object if the operation is successful.
4678     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4679     * <br>2. Incorrect parameter types.
4680     * @throws { BusinessError } 14800000 - Inner error.
4681     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4682     * @crossplatform
4683     * @since 10
4684     */
4685    /**
4686     * Queries data in the database based on specified conditions.
4687     *
4688     * @param { RdbPredicates } predicates - The specified query condition by the instance object of {@link RdbPredicates}.
4689     * @param { Array<string> } columns - The columns to query. If the value is null, the query applies to all columns.
4690     * @returns { Promise<ResultSet> } The {@link ResultSet} object if the operation is successful.
4691     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4692     * <br>2. Incorrect parameter types.
4693     * @throws { BusinessError } 14800000 - Inner error.
4694     * @throws { BusinessError } 14800014 - Already closed.
4695     * @throws { BusinessError } 14800015 - The database does not respond.
4696     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4697     * @crossplatform
4698     * @since 12
4699     */
4700    query(predicates: RdbPredicates, columns?: Array<string>): Promise<ResultSet>;
4701
4702    /**
4703     * Queries data in the database based on specified conditions.
4704     *
4705     * @param { string } table - Indicates the target table.
4706     * @param { dataSharePredicates.DataSharePredicates } predicates - The specified query condition by the instance object
4707     *                                                    of {@link dataSharePredicates.DataSharePredicates}.
4708     * @param { AsyncCallback<ResultSet> } callback - The {@link ResultSet} object if the operation is successful.
4709     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4710     * <br>2. Incorrect parameter types.
4711     * @throws { BusinessError } 14800000 - Inner error.
4712     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
4713     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4714     * @systemapi
4715     * @StageModelOnly
4716     * @since 10
4717     */
4718    /**
4719     * Queries data in the database based on specified conditions.
4720     *
4721     * @param { string } table - Indicates the target table.
4722     * @param { dataSharePredicates.DataSharePredicates } predicates - The specified query condition by the instance object
4723     *                                                    of {@link dataSharePredicates.DataSharePredicates}.
4724     * @param { AsyncCallback<ResultSet> } callback - The {@link ResultSet} object if the operation is successful.
4725     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
4726     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4727     * <br>2. Incorrect parameter types.
4728     * @throws { BusinessError } 14800000 - Inner error.
4729     * @throws { BusinessError } 14800014 - Already closed.
4730     * @throws { BusinessError } 14800015 - The database does not respond.
4731     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4732     * @systemapi
4733     * @StageModelOnly
4734     * @since 12
4735     */
4736    query(table: string, predicates: dataSharePredicates.DataSharePredicates, callback: AsyncCallback<ResultSet>): void;
4737
4738    /**
4739     * Queries data in the database based on specified conditions.
4740     *
4741     * @param { string } table - Indicates the target table.
4742     * @param { dataSharePredicates.DataSharePredicates } predicates - The specified query condition by the instance object
4743     *                                                    of {@link dataSharePredicates.DataSharePredicates}.
4744     * @param { Array<string> } columns - The columns to query. If the value is empty array, the query applies to all columns.
4745     * @param { AsyncCallback<ResultSet> } callback - The {@link ResultSet} object if the operation is successful.
4746     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4747     * <br>2. Incorrect parameter types.
4748     * @throws { BusinessError } 14800000 - Inner error.
4749     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
4750     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4751     * @systemapi
4752     * @StageModelOnly
4753     * @since 9
4754     */
4755    /**
4756     * Queries data in the database based on specified conditions.
4757     *
4758     * @param { string } table - Indicates the target table.
4759     * @param { dataSharePredicates.DataSharePredicates } predicates - The specified query condition by the instance object
4760     *                                                    of {@link dataSharePredicates.DataSharePredicates}.
4761     * @param { Array<string> } columns - The columns to query. If the value is empty array, the query applies to all columns.
4762     * @param { AsyncCallback<ResultSet> } callback - The {@link ResultSet} object if the operation is successful.
4763     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
4764     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4765     * <br>2. Incorrect parameter types.
4766     * @throws { BusinessError } 14800000 - Inner error.
4767     * @throws { BusinessError } 14800014 - Already closed.
4768     * @throws { BusinessError } 14800015 - The database does not respond.
4769     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4770     * @systemapi
4771     * @StageModelOnly
4772     * @since 12
4773     */
4774    query(
4775      table: string,
4776      predicates: dataSharePredicates.DataSharePredicates,
4777      columns: Array<string>,
4778      callback: AsyncCallback<ResultSet>
4779    ): void;
4780
4781    /**
4782     * Queries data in the database based on specified conditions.
4783     *
4784     * @param { string } table - Indicates the target table.
4785     * @param { dataSharePredicates.DataSharePredicates } predicates - The specified query condition by the instance object
4786     *                                                    of {@link dataSharePredicates.DataSharePredicates}.
4787     * @param { Array<string> } columns - The columns to query. If the value is null, the query applies to all columns.
4788     * @returns { Promise<ResultSet> } The {@link ResultSet} object if the operation is successful.
4789     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4790     * <br>2. Incorrect parameter types.
4791     * @throws { BusinessError } 14800000 - Inner error.
4792     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
4793     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4794     * @systemapi
4795     * @StageModelOnly
4796     * @since 9
4797     */
4798    /**
4799     * Queries data in the database based on specified conditions.
4800     *
4801     * @param { string } table - Indicates the target table.
4802     * @param { dataSharePredicates.DataSharePredicates } predicates - The specified query condition by the instance object
4803     *                                                    of {@link dataSharePredicates.DataSharePredicates}.
4804     * @param { Array<string> } columns - The columns to query. If the value is null, the query applies to all columns.
4805     * @returns { Promise<ResultSet> } The {@link ResultSet} object if the operation is successful.
4806     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
4807     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4808     * <br>2. Incorrect parameter types.
4809     * @throws { BusinessError } 14800000 - Inner error.
4810     * @throws { BusinessError } 14800014 - Already closed.
4811     * @throws { BusinessError } 14800015 - The database does not respond.
4812     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4813     * @systemapi
4814     * @StageModelOnly
4815     * @since 12
4816     */
4817    query(
4818      table: string,
4819      predicates: dataSharePredicates.DataSharePredicates,
4820      columns?: Array<string>
4821    ): Promise<ResultSet>;
4822
4823    /**
4824     * Queries data in the database based on specified conditions with sync function.
4825     *
4826     * @param { RdbPredicates } predicates - The specified query condition by the instance object of {@link RdbPredicates}.
4827     * @param { Array<string> } columns - The columns to query. If the value is empty array, the query applies to all columns.
4828     * @returns { ResultSet } The {@link ResultSet} object if the operation is successful.
4829     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4830     * <br>2. Incorrect parameter types.
4831     * @throws { BusinessError } 14800000 - Inner error.
4832     * @throws { BusinessError } 14800014 - Already closed.
4833     * @throws { BusinessError } 14800015 - The database does not respond.
4834     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4835     * @crossplatform
4836     * @since 12
4837     */
4838    querySync(predicates: RdbPredicates, columns?: Array<string>): ResultSet;
4839
4840    /**
4841     * Queries data in the database based on SQL statement.
4842     *
4843     * @param { string } sql - Indicates the SQL statement to execute.
4844     * @param { AsyncCallback<ResultSet> } callback - The {@link ResultSet} object if the operation is successful.
4845     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4846     * <br>2. Incorrect parameter types.
4847     * @throws { BusinessError } 14800000 - Inner error.
4848     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4849     * @crossplatform
4850     * @since 10
4851     */
4852    /**
4853     * Queries data in the database based on SQL statement.
4854     *
4855     * @param { string } sql - Indicates the SQL statement to execute.
4856     * @param { AsyncCallback<ResultSet> } callback - The {@link ResultSet} object if the operation is successful.
4857     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4858     * <br>2. Incorrect parameter types.
4859     * @throws { BusinessError } 14800000 - Inner error.
4860     * @throws { BusinessError } 14800014 - Already closed.
4861     * @throws { BusinessError } 14800015 - The database does not respond.
4862     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4863     * @crossplatform
4864     * @since 12
4865     */
4866    querySql(sql: string, callback: AsyncCallback<ResultSet>): void;
4867
4868    /**
4869     * Queries data in the database based on SQL statement.
4870     *
4871     * @param { string } sql - Indicates the SQL statement to execute.
4872     * @param { Array<ValueType> } bindArgs - Indicates the {@link ValueType} values of the parameters in the SQL statement. The values are strings.
4873     * @param { AsyncCallback<ResultSet> } callback - The {@link ResultSet} object if the operation is successful.
4874     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4875     * <br>2. Incorrect parameter types.
4876     * @throws { BusinessError } 14800000 - Inner error.
4877     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4878     * @since 9
4879     */
4880    /**
4881     * Queries data in the database based on SQL statement.
4882     *
4883     * @param { string } sql - Indicates the SQL statement to execute.
4884     * @param { Array<ValueType> } bindArgs - Indicates the {@link ValueType} values of the parameters in the SQL statement. The values are strings.
4885     * @param { AsyncCallback<ResultSet> } callback - The {@link ResultSet} object if the operation is successful.
4886     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4887     * <br>2. Incorrect parameter types.
4888     * @throws { BusinessError } 14800000 - Inner error.
4889     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4890     * @crossplatform
4891     * @since 10
4892     */
4893    /**
4894     * Queries data in the database based on SQL statement.
4895     *
4896     * @param { string } sql - Indicates the SQL statement to execute.
4897     * @param { Array<ValueType> } bindArgs - Indicates the {@link ValueType} values of the parameters in the SQL statement. The values are strings.
4898     * @param { AsyncCallback<ResultSet> } callback - The {@link ResultSet} object if the operation is successful.
4899     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4900     * <br>2. Incorrect parameter types.
4901     * @throws { BusinessError } 14800000 - Inner error.
4902     * @throws { BusinessError } 14800014 - Already closed.
4903     * @throws { BusinessError } 14800015 - The database does not respond.
4904     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4905     * @crossplatform
4906     * @since 12
4907     */
4908    querySql(sql: string, bindArgs: Array<ValueType>, callback: AsyncCallback<ResultSet>): void;
4909
4910    /**
4911     * Queries data in the database based on SQL statement.
4912     *
4913     * @param { string } sql - Indicates the SQL statement to execute.
4914     * @param { Array<ValueType> } bindArgs - Indicates the {@link ValueType} values of the parameters in the SQL statement. The values are strings.
4915     * @returns { Promise<ResultSet> } The {@link ResultSet} object if the operation is successful.
4916     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4917     * <br>2. Incorrect parameter types.
4918     * @throws { BusinessError } 14800000 - Inner error.
4919     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4920     * @since 9
4921     */
4922    /**
4923     * Queries data in the database based on SQL statement.
4924     *
4925     * @param { string } sql - Indicates the SQL statement to execute.
4926     * @param { Array<ValueType> } bindArgs - Indicates the {@link ValueType} values of the parameters in the SQL statement. The values are strings.
4927     * @returns { Promise<ResultSet> } The {@link ResultSet} object if the operation is successful.
4928     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4929     * <br>2. Incorrect parameter types.
4930     * @throws { BusinessError } 14800000 - Inner error.
4931     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4932     * @crossplatform
4933     * @since 10
4934     */
4935    /**
4936     * Queries data in the database based on SQL statement.
4937     *
4938     * @param { string } sql - Indicates the SQL statement to execute.
4939     * @param { Array<ValueType> } bindArgs - Indicates the {@link ValueType} values of the parameters in the SQL statement. The values are strings.
4940     * @returns { Promise<ResultSet> } The {@link ResultSet} object if the operation is successful.
4941     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4942     * <br>2. Incorrect parameter types.
4943     * @throws { BusinessError } 14800000 - Inner error.
4944     * @throws { BusinessError } 14800014 - Already closed.
4945     * @throws { BusinessError } 14800015 - The database does not respond.
4946     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4947     * @crossplatform
4948     * @since 12
4949     */
4950    querySql(sql: string, bindArgs?: Array<ValueType>): Promise<ResultSet>;
4951
4952    /**
4953     * Queries data in the database based on SQL statement with sync interface.
4954     *
4955     * @param { string } sql - Indicates the SQL statement to execute.
4956     * @param { Array<ValueType> } bindArgs - Indicates the {@link ValueType} values of the parameters in the SQL statement. The values are strings.
4957     * @returns { ResultSet } The {@link ResultSet} object if the operation is successful.
4958     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
4959     * <br>2. Incorrect parameter types.
4960     * @throws { BusinessError } 14800000 - Inner error.
4961     * @throws { BusinessError } 14800014 - Already closed.
4962     * @throws { BusinessError } 14800015 - The database does not respond.
4963     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4964     * @crossplatform
4965     * @since 12
4966     */
4967    querySqlSync(sql: string, bindArgs?: Array<ValueType>): ResultSet;
4968
4969    /**
4970     * Obtains the modify time of rows corresponding to the primary keys.
4971     *
4972     * @param { string } table - Indicates the name of the table to check.
4973     * @param { string } columnName - Indicates the name of the column to check.
4974     * @param { PRIKeyType[] } primaryKeys - Indicates the primary keys of the rows to check.
4975     * @returns { Promise<ModifyTime> } -The promise returned by the function. ModifyTime indicates the modify time of current row.
4976     * If this table does not support cloud, the {@link ModifyTime} will be empty.
4977     * @throws { BusinessError } 801 - Capability not supported.
4978     * @throws { BusinessError } 14800000 - Inner error.
4979     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Need 3 - 4  parameter(s)! 2. The RdbStore must be not nullptr.
4980     * 3. The tablesNames must be not empty string. 4. The columnName must be not empty string. 5. The PRIKey must be number or string.
4981     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
4982     * @since 10
4983     */
4984    /**
4985     * Obtains the modify time of rows corresponding to the primary keys.
4986     *
4987     * @param { string } table - Indicates the name of the table to check.
4988     * @param { string } columnName - Indicates the name of the column to check.
4989     * @param { PRIKeyType[] } primaryKeys - Indicates the primary keys of the rows to check.
4990     * @returns { Promise<ModifyTime> } -The promise returned by the function. ModifyTime indicates the modify time of current row.
4991     * If this table does not support cloud, the {@link ModifyTime} will be empty.
4992     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Need 3 - 4  parameter(s)! 2. The RdbStore must be not nullptr.
4993     * 3. The tablesNames must be not empty string. 4. The columnName must be not empty string. 5. The PRIKey must be number or string.
4994     * @throws { BusinessError } 801 - Capability not supported.
4995     * @throws { BusinessError } 14800000 - Inner error.
4996     * @throws { BusinessError } 14800011 - Database corrupted.
4997     * @throws { BusinessError } 14800014 - Already closed.
4998     * @throws { BusinessError } 14800015 - The database does not respond.
4999     * @throws { BusinessError } 14800021 - SQLite: Generic error.
5000     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
5001     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
5002     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
5003     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
5004     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
5005     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
5006     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
5007     * @throws { BusinessError } 14800029 - SQLite: The database is full.
5008     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
5009     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
5010     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
5011     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
5012     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
5013     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
5014     * @since 12
5015     */
5016    getModifyTime(table: string, columnName: string, primaryKeys: PRIKeyType[]): Promise<ModifyTime>;
5017
5018    /**
5019     * Obtains the modify time of rows corresponding to the primary keys.
5020     *
5021     * @param { string } table - Indicates the name of the table to check.
5022     * @param { string } columnName - Indicates the name of the column to check.
5023     * @param { PRIKeyType[] } primaryKeys - Indicates the primary keys of the rows to check.
5024     * @param { AsyncCallback<ModifyTime> } callback - The callback of getModifyTime. ModifyTime indicates the modify time of current row.
5025     * If this table does not support cloud, the {@link ModifyTime} will be empty.
5026     * @throws { BusinessError } 801 - Capability not supported.
5027     * @throws { BusinessError } 14800000 - Inner error.
5028     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Need 3 - 4  parameter(s)! 2. The RdbStore must be not nullptr.
5029     * 3. The tablesNames must be not empty string. 4. The columnName must be not empty string. 5. The PRIKey must be number or string.
5030     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
5031     * @since 10
5032     */
5033    /**
5034     * Obtains the modify time of rows corresponding to the primary keys.
5035     *
5036     * @param { string } table - Indicates the name of the table to check.
5037     * @param { string } columnName - Indicates the name of the column to check.
5038     * @param { PRIKeyType[] } primaryKeys - Indicates the primary keys of the rows to check.
5039     * @param { AsyncCallback<ModifyTime> } callback - The callback of getModifyTime. ModifyTime indicates the modify time of current row.
5040     * If this table does not support cloud, the {@link ModifyTime} will be empty.
5041     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Need 3 - 4  parameter(s)! 2. The RdbStore must be not nullptr.
5042     * 3. The tablesNames must be not empty string. 4. The columnName must be not empty string. 5. The PRIKey must be number or string.
5043     * @throws { BusinessError } 801 - Capability not supported.
5044     * @throws { BusinessError } 14800000 - Inner error.
5045     * @throws { BusinessError } 14800011 - Database corrupted.
5046     * @throws { BusinessError } 14800014 - Already closed.
5047     * @throws { BusinessError } 14800015 - The database does not respond.
5048     * @throws { BusinessError } 14800021 - SQLite: Generic error.
5049     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
5050     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
5051     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
5052     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
5053     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
5054     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
5055     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
5056     * @throws { BusinessError } 14800029 - SQLite: The database is full.
5057     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
5058     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
5059     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
5060     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
5061     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
5062     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
5063     * @since 12
5064     */
5065    getModifyTime(
5066      table: string,
5067      columnName: string,
5068      primaryKeys: PRIKeyType[],
5069      callback: AsyncCallback<ModifyTime>
5070    ): void;
5071
5072    /**
5073     * Cleans the dirty data, which is the data deleted in the cloud.
5074     *
5075     * Data with a cursor smaller than the specified cursor will be cleaned up.
5076     *
5077     * @param { string } table - Indicates the name of the table to check.
5078     * @param { number } cursor - Indicates the position of the data to be cleaned up.
5079     * @param { AsyncCallback<void> } callback - Indicates the callback invoked to return the result.
5080     * @throws { BusinessError } 801 - Capability not supported.
5081     * @throws { BusinessError } 14800000 - Inner error.
5082     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Need 1 - 3  parameter(s)! 2. The RdbStore must be not nullptr.
5083     * 3. The tablesNames must be not empty string. 4. The cursor must be valid cursor.
5084     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
5085     * @since 11
5086     */
5087    /**
5088     * Cleans the dirty data, which is the data deleted in the cloud.
5089     *
5090     * Data with a cursor smaller than the specified cursor will be cleaned up.
5091     *
5092     * @param { string } table - Indicates the name of the table to check.
5093     * @param { number } cursor - Indicates the position of the data to be cleaned up.
5094     * @param { AsyncCallback<void> } callback - Indicates the callback invoked to return the result.
5095     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Need 1 - 3  parameter(s)! 2. The RdbStore must be not nullptr.
5096     * 3. The tablesNames must be not empty string. 4. The cursor must be valid cursor.
5097     * @throws { BusinessError } 801 - Capability not supported.
5098     * @throws { BusinessError } 14800000 - Inner error.
5099     * @throws { BusinessError } 14800011 - Database corrupted.
5100     * @throws { BusinessError } 14800014 - Already closed.
5101     * @throws { BusinessError } 14800015 - The database does not respond.
5102     * @throws { BusinessError } 14800021 - SQLite: Generic error.
5103     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
5104     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
5105     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
5106     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
5107     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
5108     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
5109     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
5110     * @throws { BusinessError } 14800029 - SQLite: The database is full.
5111     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
5112     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
5113     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
5114     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
5115     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
5116     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
5117     * @since 12
5118     */
5119    cleanDirtyData(table: string, cursor: number, callback: AsyncCallback<void>): void;
5120
5121    /**
5122     * Cleans all dirty data deleted in the cloud.
5123     *
5124     * @param { string } table - Indicates the name of the table to check.
5125     * @param { AsyncCallback<void> } callback - The callback of clean.
5126     * @throws { BusinessError } 801 - Capability not supported.
5127     * @throws { BusinessError } 14800000 - Inner error.
5128     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Need 1 - 3  parameter(s)! 2. The RdbStore must be not nullptr.
5129     * 3. The tablesNames must be not empty string.
5130     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
5131     * @since 11
5132     */
5133    /**
5134     * Cleans all dirty data deleted in the cloud.
5135     *
5136     * @param { string } table - Indicates the name of the table to check.
5137     * @param { AsyncCallback<void> } callback - The callback of clean.
5138     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Need 1 - 3  parameter(s). 2. The RdbStore must be not nullptr.
5139     * 3. The tablesNames must be not empty string.
5140     * @throws { BusinessError } 801 - Capability not supported.
5141     * @throws { BusinessError } 14800000 - Inner error.
5142     * @throws { BusinessError } 14800011 - Database corrupted.
5143     * @throws { BusinessError } 14800014 - Already closed.
5144     * @throws { BusinessError } 14800015 - The database does not respond.
5145     * @throws { BusinessError } 14800021 - SQLite: Generic error.
5146     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
5147     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
5148     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
5149     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
5150     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
5151     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
5152     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
5153     * @throws { BusinessError } 14800029 - SQLite: The database is full.
5154     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
5155     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
5156     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
5157     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
5158     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
5159     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
5160     * @since 12
5161     */
5162    cleanDirtyData(table: string, callback: AsyncCallback<void>): void;
5163
5164    /**
5165     * Cleans dirty data deleted in the cloud.
5166     *
5167     * If a cursor is specified, data with a cursor smaller than the specified cursor will be cleaned up.
5168     * otherwise clean all.
5169     *
5170     * @param { string } table - Indicates the name of the table to check.
5171     * @param { number } [cursor] - Indicates the cursor.
5172     * @returns { Promise<void> } -The promise returned by the function.
5173     * @throws { BusinessError } 801 - Capability not supported.
5174     * @throws { BusinessError } 14800000 - Inner error.
5175     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Need 1 - 3  parameter(s)! 2. The RdbStore must be not nullptr.
5176     * 3. The tablesNames must be not empty string. 4. The cursor must be valid cursor.
5177     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
5178     * @since 11
5179     */
5180    /**
5181     * Cleans dirty data deleted in the cloud.
5182     *
5183     * If a cursor is specified, data with a cursor smaller than the specified cursor will be cleaned up.
5184     * otherwise clean all.
5185     *
5186     * @param { string } table - Indicates the name of the table to check.
5187     * @param { number } [cursor] - Indicates the cursor.
5188     * @returns { Promise<void> } -The promise returned by the function.
5189     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Need 1 - 3  parameter(s)! 2. The RdbStore must be not nullptr.
5190     * 3. The tablesNames must be not empty string. 4. The cursor must be valid cursor.
5191     * @throws { BusinessError } 801 - Capability not supported.
5192     * @throws { BusinessError } 14800000 - Inner error.
5193     * @throws { BusinessError } 14800011 - Database corrupted.
5194     * @throws { BusinessError } 14800014 - Already closed.
5195     * @throws { BusinessError } 14800015 - The database does not respond.
5196     * @throws { BusinessError } 14800021 - SQLite: Generic error.
5197     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
5198     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
5199     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
5200     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
5201     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
5202     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
5203     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
5204     * @throws { BusinessError } 14800029 - SQLite: The database is full.
5205     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
5206     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
5207     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
5208     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
5209     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
5210     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
5211     * @since 12
5212     */
5213    cleanDirtyData(table: string, cursor?: number): Promise<void>;
5214
5215    /**
5216     * Obtains sharing resource of rows corresponding to the predicates.
5217     *
5218     * @param { RdbPredicates } predicates - The specified query condition by the instance object of {@link RdbPredicates}.
5219     * @param { Array<string> } [columns] - The specified columns to query.
5220     * @returns { Promise<ResultSet> } -The promise returned by the function.
5221     * {@link ResultSet} is query result.
5222     * @throws { BusinessError } 801 - Capability not supported.
5223     * @throws { BusinessError } 14800000 - Inner error.
5224     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Need 1 - 3  parameter(s)! 2. The RdbStore must be not nullptr.
5225     * 3. The predicates must be an RdbPredicates. 4. The columns must be a string array.
5226     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
5227     * @systemapi
5228     * @since 11
5229     */
5230    /**
5231     * Obtains sharing resource of rows corresponding to the predicates.
5232     *
5233     * @param { RdbPredicates } predicates - The specified query condition by the instance object of {@link RdbPredicates}.
5234     * @param { Array<string> } [columns] - The specified columns to query.
5235     * @returns { Promise<ResultSet> } -The promise returned by the function.
5236     * {@link ResultSet} is query result.
5237     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Need 1 - 3  parameter(s)! 2. The RdbStore must be not nullptr.
5238     * 3. The predicates must be an RdbPredicates. 4. The columns must be a string array.
5239     * @throws { BusinessError } 801 - Capability not supported.
5240     * @throws { BusinessError } 14800000 - Inner error.
5241     * @throws { BusinessError } 14800011 - Database corrupted.
5242     * @throws { BusinessError } 14800014 - Already closed.
5243     * @throws { BusinessError } 14800015 - The database does not respond.
5244     * @throws { BusinessError } 14800021 - SQLite: Generic error.
5245     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
5246     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
5247     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
5248     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
5249     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
5250     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
5251     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
5252     * @throws { BusinessError } 14800029 - SQLite: The database is full.
5253     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
5254     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
5255     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
5256     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
5257     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
5258     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
5259     * @systemapi
5260     * @since 12
5261     */
5262    querySharingResource(predicates: RdbPredicates, columns?: Array<string>): Promise<ResultSet>;
5263
5264    /**
5265     * Obtains sharing resource of rows corresponding to the predicates.
5266     *
5267     * @param { RdbPredicates } predicates - The specified query condition by the instance object of {@link RdbPredicates}.
5268     * @param { AsyncCallback<ResultSet> } callback - The callback of querySharingResource.
5269     * {@link ResultSet} is query result.
5270     * @throws { BusinessError } 801 - Capability not supported.
5271     * @throws { BusinessError } 14800000 - Inner error.
5272     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Need 1 - 3  parameter(s)! 2. The RdbStore must be not nullptr.
5273     * 3. The predicates must be an RdbPredicates.
5274     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
5275     * @systemapi
5276     * @since 11
5277     */
5278    /**
5279     * Obtains sharing resource of rows corresponding to the predicates.
5280     *
5281     * @param { RdbPredicates } predicates - The specified query condition by the instance object of {@link RdbPredicates}.
5282     * @param { AsyncCallback<ResultSet> } callback - The callback of querySharingResource.
5283     * {@link ResultSet} is query result.
5284     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Need 1 - 3  parameter(s)! 2. The RdbStore must be not nullptr.
5285     * 3. The predicates must be an RdbPredicates.
5286     * @throws { BusinessError } 801 - Capability not supported.
5287     * @throws { BusinessError } 14800000 - Inner error.
5288     * @throws { BusinessError } 14800011 - Database corrupted.
5289     * @throws { BusinessError } 14800014 - Already closed.
5290     * @throws { BusinessError } 14800015 - The database does not respond.
5291     * @throws { BusinessError } 14800021 - SQLite: Generic error.
5292     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
5293     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
5294     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
5295     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
5296     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
5297     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
5298     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
5299     * @throws { BusinessError } 14800029 - SQLite: The database is full.
5300     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
5301     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
5302     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
5303     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
5304     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
5305     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
5306     * @systemapi
5307     * @since 12
5308     */
5309    querySharingResource(predicates: RdbPredicates, callback: AsyncCallback<ResultSet>): void;
5310
5311    /**
5312     * Obtains sharing resource of rows corresponding to the predicates.
5313     *
5314     * @param { RdbPredicates } predicates - The specified query condition by the instance object of {@link RdbPredicates}.
5315     * @param { Array<string> } columns - The specified columns to query.
5316     * @param { AsyncCallback<ResultSet> } callback - The callback of querySharingResource.
5317     * {@link ResultSet} is query result.
5318     * @throws { BusinessError } 801 - Capability not supported.
5319     * @throws { BusinessError } 14800000 - Inner error.
5320     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Need 1 - 3  parameter(s)! 2. The RdbStore must be not nullptr.
5321     * 3. The predicates must be an RdbPredicates. 4. The columns must be a string array.
5322     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
5323     * @systemapi
5324     * @since 11
5325     */
5326    /**
5327     * Obtains sharing resource of rows corresponding to the predicates.
5328     *
5329     * @param { RdbPredicates } predicates - The specified query condition by the instance object of {@link RdbPredicates}.
5330     * @param { Array<string> } columns - The specified columns to query.
5331     * @param { AsyncCallback<ResultSet> } callback - The callback of querySharingResource.
5332     * {@link ResultSet} is query result.
5333     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Need 1 - 3  parameter(s)! 2. The RdbStore must be not nullptr.
5334     * 3. The predicates must be an RdbPredicates. 4. The columns must be a string array.
5335     * @throws { BusinessError } 801 - Capability not supported.
5336     * @throws { BusinessError } 14800000 - Inner error.
5337     * @throws { BusinessError } 14800011 - Database corrupted.
5338     * @throws { BusinessError } 14800014 - Already closed.
5339     * @throws { BusinessError } 14800015 - The database does not respond.
5340     * @throws { BusinessError } 14800021 - SQLite: Generic error.
5341     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
5342     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
5343     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
5344     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
5345     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
5346     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
5347     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
5348     * @throws { BusinessError } 14800029 - SQLite: The database is full.
5349     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
5350     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
5351     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
5352     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
5353     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
5354     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
5355     * @systemapi
5356     * @since 12
5357     */
5358    querySharingResource(predicates: RdbPredicates, columns: Array<string>, callback: AsyncCallback<ResultSet>): void;
5359
5360    /**
5361     * Executes a SQL statement that contains specified parameters but returns no value.
5362     *
5363     * @param { string } sql - Indicates the SQL statement to execute.
5364     * @param { AsyncCallback<void> } callback - The callback of executeSql.
5365     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
5366     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
5367     * <br>2. Incorrect parameter types.
5368     * @throws { BusinessError } 14800000 - Inner error.
5369     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
5370     * @crossplatform
5371     * @since 10
5372     */
5373    /**
5374     * Executes a SQL statement that contains specified parameters but returns no value.
5375     *
5376     * @param { string } sql - Indicates the SQL statement to execute.
5377     * @param { AsyncCallback<void> } callback - The callback of executeSql.
5378     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
5379     * <br>2. Incorrect parameter types.
5380     * @throws { BusinessError } 801 - Capability not supported the sql(attach,begin,commit,rollback etc.).
5381     * @throws { BusinessError } 14800000 - Inner error.
5382     * @throws { BusinessError } 14800011 - Database corrupted.
5383     * @throws { BusinessError } 14800014 - Already closed.
5384     * @throws { BusinessError } 14800015 - The database does not respond.
5385     * @throws { BusinessError } 14800021 - SQLite: Generic error.
5386     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
5387     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
5388     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
5389     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
5390     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
5391     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
5392     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
5393     * @throws { BusinessError } 14800029 - SQLite: The database is full.
5394     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
5395     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
5396     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
5397     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
5398     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
5399     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
5400     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
5401     * @crossplatform
5402     * @since 12
5403     */
5404    executeSql(sql: string, callback: AsyncCallback<void>): void;
5405
5406    /**
5407     * Executes a SQL statement that contains specified parameters but returns no value.
5408     *
5409     * @param { string } sql - Indicates the SQL statement to execute.
5410     * @param { Array<ValueType> } bindArgs - Indicates the {@link ValueType} values of the parameters in the SQL statement. The values are strings.
5411     * @param { AsyncCallback<void> } callback - The callback of executeSql.
5412     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
5413     * <br>2. Incorrect parameter types.
5414     * @throws { BusinessError } 14800000 - Inner error.
5415     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
5416     * @since 9
5417     */
5418    /**
5419     * Executes a SQL statement that contains specified parameters but returns no value.
5420     *
5421     * @param { string } sql - Indicates the SQL statement to execute.
5422     * @param { Array<ValueType> } bindArgs - Indicates the {@link ValueType} values of the parameters in the SQL statement. The values are strings.
5423     * @param { AsyncCallback<void> } callback - The callback of executeSql.
5424     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
5425     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
5426     * <br>2. Incorrect parameter types.
5427     * @throws { BusinessError } 14800000 - Inner error.
5428     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
5429     * @crossplatform
5430     * @since 10
5431     */
5432    /**
5433     * Executes a SQL statement that contains specified parameters but returns no value.
5434     *
5435     * @param { string } sql - Indicates the SQL statement to execute.
5436     * @param { Array<ValueType> } bindArgs - Indicates the {@link ValueType} values of the parameters in the SQL statement. The values are strings.
5437     * @param { AsyncCallback<void> } callback - The callback of executeSql.
5438     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
5439     * <br>2. Incorrect parameter types.
5440     * @throws { BusinessError } 801 - Capability not supported the sql(attach,begin,commit,rollback etc.).
5441     * @throws { BusinessError } 14800000 - Inner error.
5442     * @throws { BusinessError } 14800011 - Database corrupted.
5443     * @throws { BusinessError } 14800014 - Already closed.
5444     * @throws { BusinessError } 14800015 - The database does not respond.
5445     * @throws { BusinessError } 14800021 - SQLite: Generic error.
5446     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
5447     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
5448     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
5449     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
5450     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
5451     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
5452     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
5453     * @throws { BusinessError } 14800029 - SQLite: The database is full.
5454     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
5455     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
5456     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
5457     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
5458     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
5459     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
5460     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
5461     * @crossplatform
5462     * @since 12
5463     */
5464    executeSql(sql: string, bindArgs: Array<ValueType>, callback: AsyncCallback<void>): void;
5465
5466    /**
5467     * Executes a SQL statement that contains specified parameters but returns no value.
5468     *
5469     * @param { string } sql - Indicates the SQL statement to execute.
5470     * @param { Array<ValueType> } bindArgs - Indicates the {@link ValueType} values of the parameters in the SQL statement. The values are strings.
5471     * @returns { Promise<void> } The promise returned by the function.
5472     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
5473     * <br>2. Incorrect parameter types.
5474     * @throws { BusinessError } 14800000 - Inner error.
5475     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
5476     * @since 9
5477     */
5478    /**
5479     * Executes a SQL statement that contains specified parameters but returns no value.
5480     *
5481     * @param { string } sql - Indicates the SQL statement to execute.
5482     * @param { Array<ValueType> } bindArgs - Indicates the {@link ValueType} values of the parameters in the SQL statement. The values are strings.
5483     * @returns { Promise<void> } The promise returned by the function.
5484     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
5485     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
5486     * <br>2. Incorrect parameter types.
5487     * @throws { BusinessError } 14800000 - Inner error.
5488     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
5489     * @crossplatform
5490     * @since 10
5491     */
5492    /**
5493     * Executes a SQL statement that contains specified parameters but returns no value.
5494     *
5495     * @param { string } sql - Indicates the SQL statement to execute.
5496     * @param { Array<ValueType> } bindArgs - Indicates the {@link ValueType} values of the parameters in the SQL statement. The values are strings.
5497     * @returns { Promise<void> } The promise returned by the function.
5498     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
5499     * <br>2. Incorrect parameter types.
5500     * @throws { BusinessError } 801 - Capability not supported the sql(attach,begin,commit,rollback etc.).
5501     * @throws { BusinessError } 14800000 - Inner error.
5502     * @throws { BusinessError } 14800011 - Database corrupted.
5503     * @throws { BusinessError } 14800014 - Already closed.
5504     * @throws { BusinessError } 14800015 - The database does not respond.
5505     * @throws { BusinessError } 14800021 - SQLite: Generic error.
5506     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
5507     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
5508     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
5509     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
5510     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
5511     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
5512     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
5513     * @throws { BusinessError } 14800029 - SQLite: The database is full.
5514     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
5515     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
5516     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
5517     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
5518     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
5519     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
5520     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
5521     * @crossplatform
5522     * @since 12
5523     */
5524    executeSql(sql: string, bindArgs?: Array<ValueType>): Promise<void>;
5525
5526    /**
5527     * Executes a SQL statement that contains specified parameters and returns a value of ValueType.
5528     *
5529     * @param { string } sql - Indicates the SQL statement to execute.
5530     * @param { Array<ValueType> } args - Indicates the {@link ValueType} values of the parameters in the SQL statement. The values are strings.
5531     * @returns { Promise<ValueType> } The promise returned by the function.
5532     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
5533     * <br>2. Incorrect parameter types.
5534     * @throws { BusinessError } 801 - Capability not supported the sql(attach,begin,commit,rollback etc.).
5535     * @throws { BusinessError } 14800000 - Inner error.
5536     * @throws { BusinessError } 14800011 - Database corrupted.
5537     * @throws { BusinessError } 14800014 - Already closed.
5538     * @throws { BusinessError } 14800015 - The database does not respond.
5539     * @throws { BusinessError } 14800021 - SQLite: Generic error.
5540     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
5541     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
5542     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
5543     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
5544     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
5545     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
5546     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
5547     * @throws { BusinessError } 14800029 - SQLite: The database is full.
5548     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
5549     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
5550     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
5551     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
5552     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
5553     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
5554     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
5555     * @since 12
5556     */
5557    execute(sql: string, args?: Array<ValueType>): Promise<ValueType>;
5558
5559    /**
5560     * Executes a SQL statement that contains specified parameters and returns a value of ValueType.
5561     *
5562     * @param { string } sql - Indicates the SQL statement to execute.
5563     * @param { number } txId - Indicates the transaction ID which is obtained by beginTrans or 0.
5564     * @param { Array<ValueType> } args - Indicates the {@link ValueType} values of the parameters in the SQL statement. The values are strings.
5565     * @returns { Promise<ValueType> } The promise returned by the function.
5566     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
5567     * <br>2. Incorrect parameter types.
5568     * @throws { BusinessError } 801 - Capability not supported the sql(attach,begin,commit,rollback etc.).
5569     * @throws { BusinessError } 14800000 - Inner error.
5570     * @throws { BusinessError } 14800011 - Database corrupted.
5571     * @throws { BusinessError } 14800014 - Already closed.
5572     * @throws { BusinessError } 14800015 - The database does not respond.
5573     * @throws { BusinessError } 14800021 - SQLite: Generic error.
5574     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
5575     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
5576     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
5577     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
5578     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
5579     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
5580     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
5581     * @throws { BusinessError } 14800029 - SQLite: The database is full.
5582     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
5583     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
5584     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
5585     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
5586     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
5587     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
5588     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
5589     * @since 12
5590     */
5591    execute(sql: string, txId: number, args?: Array<ValueType>): Promise<ValueType>;
5592
5593    /**
5594     * Executes a SQL statement that contains specified parameters and returns a value of ValueType with sync interface.
5595     *
5596     * @param { string } sql - Indicates the SQL statement to execute.
5597     * @param { Array<ValueType> } args - Indicates the {@link ValueType} values of the parameters in the SQL statement. The values are strings.
5598     * @returns { ValueType } The promise returned by the function.
5599     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
5600     * <br>2. Incorrect parameter types.
5601     * @throws { BusinessError } 14800000 - Inner error.
5602     * @throws { BusinessError } 14800011 - Database corrupted.
5603     * @throws { BusinessError } 14800014 - Already closed.
5604     * @throws { BusinessError } 14800015 - The database does not respond.
5605     * @throws { BusinessError } 14800021 - SQLite: Generic error.
5606     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
5607     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
5608     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
5609     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
5610     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
5611     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
5612     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
5613     * @throws { BusinessError } 14800029 - SQLite: The database is full.
5614     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
5615     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
5616     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
5617     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
5618     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
5619     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
5620     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
5621     * @crossplatform
5622     * @since 12
5623     */
5624    executeSync(sql: string, args?: Array<ValueType>): ValueType;
5625
5626    /**
5627     * BeginTransaction before execute your sql.
5628     *
5629     * @throws { BusinessError } 401 - Parameter error. The store must not be nullptr.
5630     * @throws { BusinessError } 14800000 - Inner error.
5631     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
5632     * @since 9
5633     */
5634    /**
5635     * BeginTransaction before execute your sql.
5636     *
5637     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
5638     * @throws { BusinessError } 401 - Parameter error. The store must not be nullptr.
5639     * @throws { BusinessError } 14800000 - Inner error.
5640     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
5641     * @crossplatform
5642     * @since 10
5643     */
5644    /**
5645     * BeginTransaction before execute your sql.
5646     *
5647     * @throws { BusinessError } 401 - Parameter error. The store must not be nullptr.
5648     * @throws { BusinessError } 14800000 - Inner error.
5649     * @throws { BusinessError } 14800011 - Database corrupted.
5650     * @throws { BusinessError } 14800014 - Already closed.
5651     * @throws { BusinessError } 14800015 - The database does not respond.
5652     * @throws { BusinessError } 14800021 - SQLite: Generic error.
5653     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
5654     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
5655     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
5656     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
5657     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
5658     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
5659     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
5660     * @throws { BusinessError } 14800029 - SQLite: The database is full.
5661     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
5662     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
5663     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
5664     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
5665     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
5666     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
5667     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
5668     * @crossplatform
5669     * @since 12
5670     */
5671    beginTransaction(): void;
5672
5673    /**
5674     * Begins a transaction before executing the SQL statement.
5675     *
5676     * @returns { Promise<number> } Returns the transaction ID.
5677     * @throws { BusinessError } 401 - Parameter error. The store must not be nullptr.
5678     * @throws { BusinessError } 801 - Capability not supported the sql(attach,begin,commit,rollback etc.).
5679     * @throws { BusinessError } 14800000 - Inner error.
5680     * @throws { BusinessError } 14800011 - Database corrupted.
5681     * @throws { BusinessError } 14800014 - Already closed.
5682     * @throws { BusinessError } 14800015 - The database does not respond.
5683     * @throws { BusinessError } 14800021 - SQLite: Generic error.
5684     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
5685     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
5686     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
5687     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
5688     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
5689     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
5690     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
5691     * @throws { BusinessError } 14800029 - SQLite: The database is full.
5692     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
5693     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
5694     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
5695     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
5696     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
5697     * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.
5698     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
5699     * @since 12
5700     */
5701    beginTrans(): Promise<number>;
5702
5703    /**
5704     * Commit the the sql you have executed.
5705     *
5706     * @throws { BusinessError } 401 - Parameter error. The store must not be nullptr.
5707     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
5708     * @since 9
5709     */
5710    /**
5711     * Commit the the sql you have executed.
5712     *
5713     * @throws { BusinessError } 401 - Parameter error. The store must not be nullptr.
5714     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
5715     * @crossplatform
5716     * @since 10
5717     */
5718    /**
5719     * Commit the the sql you have executed.
5720     *
5721     * @throws { BusinessError } 401 - Parameter error. The store must not be nullptr.
5722     * @throws { BusinessError } 14800000 - Inner error.
5723     * @throws { BusinessError } 14800011 - Database corrupted.
5724     * @throws { BusinessError } 14800014 - Already closed.
5725     * @throws { BusinessError } 14800015 - The database does not respond.
5726     * @throws { BusinessError } 14800021 - SQLite: Generic error.
5727     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
5728     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
5729     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
5730     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
5731     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
5732     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
5733     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
5734     * @throws { BusinessError } 14800029 - SQLite: The database is full.
5735     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
5736     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
5737     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
5738     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
5739     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
5740     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
5741     * @crossplatform
5742     * @since 12
5743     */
5744    commit(): void;
5745
5746    /**
5747     * Commits the SQL statement executed.
5748     *
5749     * @param { number } txId - Indicates the transaction ID which is obtained by beginTrans.
5750     * @returns { Promise<void> } Promise used to return the result.
5751     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
5752     * <br>2. Incorrect parameter types.
5753     * @throws { BusinessError } 14800011 - Database corrupted.
5754     * @throws { BusinessError } 14800000 - Inner error.
5755     * @throws { BusinessError } 14800014 - Already closed.
5756     * @throws { BusinessError } 14800015 - The database does not respond.
5757     * @throws { BusinessError } 14800021 - SQLite: Generic error.
5758     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
5759     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
5760     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
5761     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
5762     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
5763     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
5764     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
5765     * @throws { BusinessError } 14800029 - SQLite: The database is full.
5766     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
5767     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
5768     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
5769     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
5770     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
5771     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
5772     * @since 12
5773     */
5774    commit(txId : number): Promise<void>;
5775
5776    /**
5777     * Roll back the sql you have already executed.
5778     *
5779     * @throws { BusinessError } 401 - Parameter error. The store must not be nullptr.
5780     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
5781     * @since 9
5782     */
5783    /**
5784     * Roll back the sql you have already executed.
5785     *
5786     * @throws { BusinessError } 401 - Parameter error. The store must not be nullptr.
5787     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
5788     * @crossplatform
5789     * @since 10
5790     */
5791    /**
5792     * Roll back the sql you have already executed.
5793     *
5794     * @throws { BusinessError } 401 - Parameter error. The store must not be nullptr.
5795     * @throws { BusinessError } 14800000 - Inner error.
5796     * @throws { BusinessError } 14800011 - Database corrupted.
5797     * @throws { BusinessError } 14800014 - Already closed.
5798     * @throws { BusinessError } 14800015 - The database does not respond.
5799     * @throws { BusinessError } 14800021 - SQLite: Generic error.
5800     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
5801     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
5802     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
5803     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
5804     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
5805     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
5806     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
5807     * @throws { BusinessError } 14800029 - SQLite: The database is full.
5808     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
5809     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
5810     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
5811     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
5812     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
5813     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
5814     * @crossplatform
5815     * @since 12
5816     */
5817    rollBack(): void;
5818
5819    /**
5820     * Rolls back the SQL statement executed.
5821     *
5822     * @param { number } txId - Indicates the transaction ID which is obtained by beginTrans.
5823     * @returns { Promise<void> } Promise used to return the result.
5824     * @throws { BusinessError } 401 - Parameter error. The store must not be nullptr.
5825     * @throws { BusinessError } 14800011 - Database corrupted.
5826     * @throws { BusinessError } 14800000 - Inner error.
5827     * @throws { BusinessError } 14800014 - Already closed.
5828     * @throws { BusinessError } 14800015 - The database does not respond.
5829     * @throws { BusinessError } 14800021 - SQLite: Generic error.
5830     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
5831     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
5832     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
5833     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
5834     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
5835     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
5836     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
5837     * @throws { BusinessError } 14800029 - SQLite: The database is full.
5838     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
5839     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
5840     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
5841     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
5842     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
5843     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
5844     * @since 12
5845     */
5846    rollback(txId : number): Promise<void>;
5847
5848    /**
5849     * Backs up a database in a specified name.
5850     *
5851     * @param { string } destName - Indicates the name that saves the database backup.
5852     * @param { AsyncCallback<void> } callback - The callback of backup.
5853     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
5854     * <br>2. Incorrect parameter types.
5855     * @throws { BusinessError } 14800000 - Inner error.
5856     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
5857     * @since 9
5858     */
5859    /**
5860     * Backs up a database in a specified name.
5861     *
5862     * @param { string } destName - Indicates the name that saves the database backup.
5863     * @param { AsyncCallback<void> } callback - The callback of backup.
5864     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
5865     * <br>2. Incorrect parameter types.
5866     * @throws { BusinessError } 14800000 - Inner error.
5867     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
5868     * @crossplatform
5869     * @since 10
5870     */
5871    /**
5872     * Backs up a database in a specified name.
5873     *
5874     * @param { string } destName - Indicates the name that saves the database backup.
5875     * @param { AsyncCallback<void> } callback - The callback of backup.
5876     * @throws { BusinessError } 401 - Parameter error. The store must not be nullptr.
5877     * @throws { BusinessError } 14800000 - Inner error.
5878     * @throws { BusinessError } 14800010 - Invalid database path.
5879     * @throws { BusinessError } 14800011 - Database corrupted.
5880     * @throws { BusinessError } 14800014 - Already closed.
5881     * @throws { BusinessError } 14800015 - The database does not respond.
5882     * @throws { BusinessError } 14800021 - SQLite: Generic error.
5883     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
5884     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
5885     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
5886     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
5887     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
5888     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
5889     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
5890     * @throws { BusinessError } 14800029 - SQLite: The database is full.
5891     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
5892     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
5893     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
5894     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
5895     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
5896     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
5897     * @crossplatform
5898     * @since 12
5899     */
5900    backup(destName: string, callback: AsyncCallback<void>): void;
5901
5902    /**
5903     * Backs up a database in a specified name.
5904     *
5905     * @param { string } destName - Indicates the name that saves the database backup.
5906     * @returns { Promise<void> } The promise returned by the function.
5907     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
5908     * <br>2. Incorrect parameter types.
5909     * @throws { BusinessError } 14800000 - Inner error.
5910     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
5911     * @since 9
5912     */
5913    /**
5914     * Backs up a database in a specified name.
5915     *
5916     * @param { string } destName - Indicates the name that saves the database backup.
5917     * @returns { Promise<void> } The promise returned by the function.
5918     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
5919     * <br>2. Incorrect parameter types.
5920     * @throws { BusinessError } 14800000 - Inner error.
5921     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
5922     * @crossplatform
5923     * @since 10
5924     */
5925    /**
5926     * Backs up a database in a specified name.
5927     *
5928     * @param { string } destName - Indicates the name that saves the database backup.
5929     * @returns { Promise<void> } The promise returned by the function.
5930     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
5931     * <br>2. Incorrect parameter types.
5932     * @throws { BusinessError } 14800000 - Inner error.
5933     * @throws { BusinessError } 14800011 - Database corrupted.
5934     * @throws { BusinessError } 14800014 - Already closed.
5935     * @throws { BusinessError } 14800015 - The database does not respond.
5936     * @throws { BusinessError } 14800021 - SQLite: Generic error.
5937     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
5938     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
5939     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
5940     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
5941     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
5942     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
5943     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
5944     * @throws { BusinessError } 14800029 - SQLite: The database is full.
5945     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
5946     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
5947     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
5948     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
5949     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
5950     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
5951     * @crossplatform
5952     * @since 12
5953     */
5954    backup(destName: string): Promise<void>;
5955
5956    /**
5957     * Restores a database from a specified database file.
5958     *
5959     * @param { string } srcName - Indicates the name that saves the database file.
5960     * @param { AsyncCallback<void> } callback - The callback of restore.
5961     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
5962     * <br>2. Incorrect parameter types.
5963     * @throws { BusinessError } 14800000 - Inner error.
5964     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
5965     * @since 9
5966     */
5967    /**
5968     * Restores a database from a specified database file.
5969     *
5970     * @param { string } srcName - Indicates the name that saves the database file.
5971     * @param { AsyncCallback<void> } callback - The callback of restore.
5972     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
5973     * <br>2. Incorrect parameter types.
5974     * @throws { BusinessError } 14800000 - Inner error.
5975     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
5976     * @crossplatform
5977     * @since 10
5978     */
5979    /**
5980     * Restores a database from a specified database file.
5981     *
5982     * @param { string } srcName - Indicates the name that saves the database file.
5983     * @param { AsyncCallback<void> } callback - The callback of restore.
5984     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
5985     * <br>2. Incorrect parameter types.
5986     * @throws { BusinessError } 14800000 - Inner error.
5987     * @throws { BusinessError } 14800011 - Database corrupted.
5988     * @throws { BusinessError } 14800014 - Already closed.
5989     * @throws { BusinessError } 14800015 - The database does not respond.
5990     * @throws { BusinessError } 14800021 - SQLite: Generic error.
5991     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
5992     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
5993     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
5994     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
5995     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
5996     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
5997     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
5998     * @throws { BusinessError } 14800029 - SQLite: The database is full.
5999     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
6000     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
6001     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
6002     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
6003     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
6004     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6005     * @crossplatform
6006     * @since 12
6007     */
6008    restore(srcName: string, callback: AsyncCallback<void>): void;
6009
6010    /**
6011     * Restores a database from a specified database file.
6012     *
6013     * @param { string } srcName - Indicates the name that saves the database file.
6014     * @returns { Promise<void> } The promise returned by the function.
6015     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6016     * <br>2. Incorrect parameter types.
6017     * @throws { BusinessError } 14800000 - Inner error.
6018     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6019     * @since 9
6020     */
6021    /**
6022     * Restores a database from a specified database file.
6023     *
6024     * @param { string } srcName - Indicates the name that saves the database file.
6025     * @returns { Promise<void> } The promise returned by the function.
6026     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6027     * <br>2. Incorrect parameter types.
6028     * @throws { BusinessError } 14800000 - Inner error.
6029     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6030     * @crossplatform
6031     * @since 10
6032     */
6033    /**
6034     * Restores a database from a specified database file.
6035     *
6036     * @param { string } srcName - Indicates the name that saves the database file.
6037     * @returns { Promise<void> } The promise returned by the function.
6038     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6039     * <br>2. Incorrect parameter types.
6040     * @throws { BusinessError } 14800000 - Inner error.
6041     * @throws { BusinessError } 14800011 - Database corrupted.
6042     * @throws { BusinessError } 14800014 - Already closed.
6043     * @throws { BusinessError } 14800015 - The database does not respond.
6044     * @throws { BusinessError } 14800021 - SQLite: Generic error.
6045     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
6046     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
6047     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
6048     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
6049     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
6050     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
6051     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
6052     * @throws { BusinessError } 14800029 - SQLite: The database is full.
6053     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
6054     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
6055     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
6056     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
6057     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
6058     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6059     * @crossplatform
6060     * @since 12
6061     */
6062    restore(srcName: string): Promise<void>;
6063
6064    /**
6065     * Restores a database from a specified database file.
6066     *
6067     * @returns { Promise<void> } The promise returned by the function.
6068     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
6069     * @throws { BusinessError } 14800000 - Inner error.
6070     * @throws { BusinessError } 14800010 - Invalid database path.
6071     * @throws { BusinessError } 14800011 - Database corrupted.
6072     * @throws { BusinessError } 14800014 - Already closed.
6073     * @throws { BusinessError } 14800015 - The database does not respond.
6074     * @throws { BusinessError } 14800021 - SQLite: Generic error.
6075     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
6076     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
6077     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
6078     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
6079     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
6080     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
6081     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
6082     * @throws { BusinessError } 14800029 - SQLite: The database is full.
6083     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
6084     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
6085     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
6086     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
6087     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
6088     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6089     * @systemapi
6090     * @since 12
6091     */
6092    restore(): Promise<void>;
6093
6094    /**
6095     * Set table to be distributed table.
6096     *
6097     * @permission ohos.permission.DISTRIBUTED_DATASYNC
6098     * @param { Array<string> } tables - Indicates the table names you want to set.
6099     * @param { AsyncCallback<void> } callback - The callback of setDistributedTables.
6100     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6101     * <br>2. Incorrect parameter types.
6102     * @throws { BusinessError } 14800000 - Inner error.
6103     * @throws { BusinessError } 801 - Capability not supported.
6104     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6105     * @since 9
6106     */
6107    /**
6108     * Set table to be distributed table.
6109     *
6110     * @permission ohos.permission.DISTRIBUTED_DATASYNC
6111     * @param { Array<string> } tables - Indicates the table names you want to set.
6112     * @param { AsyncCallback<void> } callback - The callback of setDistributedTables.
6113     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6114     * <br>2. Incorrect parameter types.
6115     * @throws { BusinessError } 801 - Capability not supported.
6116     * @throws { BusinessError } 14800000 - Inner error.
6117     * @throws { BusinessError } 14800014 - Already closed.
6118     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6119     * @since 12
6120     */
6121    setDistributedTables(tables: Array<string>, callback: AsyncCallback<void>): void;
6122
6123    /**
6124     * Set table to be distributed table.
6125     *
6126     * @permission ohos.permission.DISTRIBUTED_DATASYNC
6127     * @param { Array<string> } tables - Indicates the table names you want to set.
6128     * @returns { Promise<void> } The promise returned by the function.
6129     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6130     * <br>2. Incorrect parameter types.
6131     * @throws { BusinessError } 14800000 - Inner error.
6132     * @throws { BusinessError } 801 - Capability not supported.
6133     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6134     * @since 9
6135     */
6136    /**
6137     * Set table to be distributed table.
6138     *
6139     * @permission ohos.permission.DISTRIBUTED_DATASYNC
6140     * @param { Array<string> } tables - Indicates the table names you want to set.
6141     * @returns { Promise<void> } The promise returned by the function.
6142     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6143     * <br>2. Incorrect parameter types.
6144     * @throws { BusinessError } 801 - Capability not supported.
6145     * @throws { BusinessError } 14800000 - Inner error.
6146     * @throws { BusinessError } 14800014 - Already closed.
6147     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6148     * @since 12
6149     */
6150    setDistributedTables(tables: Array<string>): Promise<void>;
6151
6152    /**
6153     * Set table to be distributed table.
6154     *
6155     * @permission ohos.permission.DISTRIBUTED_DATASYNC
6156     * @param { Array<string> } tables - Indicates the table names you want to set.
6157     * @param { DistributedType } type - Indicates the distributed type {@link DistributedType}.
6158     * This method only works when type equals to DistributedType.DISTRIBUTED_CLOUD
6159     * @param { AsyncCallback<void> } callback - The callback of setDistributedTables.
6160     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6161     * <br>2. Incorrect parameter types.
6162     * @throws { BusinessError } 14800000 - Inner error.
6163     * @throws { BusinessError } 14800051 - The type of the distributed table does not match.
6164     * @throws { BusinessError } 801 - Capability not supported.
6165     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6166     * @since 10
6167     */
6168    /**
6169     * Set table to be distributed table.
6170     *
6171     * @permission ohos.permission.DISTRIBUTED_DATASYNC
6172     * @param { Array<string> } tables - Indicates the table names you want to set.
6173     * @param { DistributedType } type - Indicates the distributed type {@link DistributedType}.
6174     * ohos.permission.DISTRIBUTED_DATASYNC is required only when type is DISTRIBUTED_DEVICE.
6175     * @param { AsyncCallback<void> } callback - The callback of setDistributedTables.
6176     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6177     * <br>2. Incorrect parameter types.
6178     * @throws { BusinessError } 801 - Capability not supported.
6179     * @throws { BusinessError } 14800000 - Inner error.
6180     * @throws { BusinessError } 14800014 - Already closed.
6181     * @throws { BusinessError } 14800051 - The type of the distributed table does not match.
6182     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6183     * @since 12
6184     */
6185    setDistributedTables(tables: Array<string>, type: DistributedType, callback: AsyncCallback<void>): void;
6186
6187    /**
6188     * Set table to be distributed table.
6189     *
6190     * @permission ohos.permission.DISTRIBUTED_DATASYNC
6191     * @param { Array<string> } tables - Indicates the table names you want to set.
6192     * @param { DistributedType } type - Indicates the distributed type {@link DistributedType}.
6193     * This method only works when type equals to DistributedType.DISTRIBUTED_CLOUD
6194     * @param { DistributedConfig } config - Indicates the distributed config of the tables. For details, see {@link DistributedConfig}.
6195     * @param { AsyncCallback<void> } callback - The callback of setDistributedTables.
6196     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6197     * <br>2. Incorrect parameter types.
6198     * @throws { BusinessError } 14800000 - Inner error.
6199     * @throws { BusinessError } 14800051 - The type of the distributed table does not match.
6200     * @throws { BusinessError } 801 - Capability not supported.
6201     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6202     * @since 10
6203     */
6204    /**
6205     * Set table to be distributed table.
6206     *
6207     * @permission ohos.permission.DISTRIBUTED_DATASYNC
6208     * @param { Array<string> } tables - Indicates the table names you want to set.
6209     * @param { DistributedType } type - Indicates the distributed type {@link DistributedType}.
6210     * ohos.permission.DISTRIBUTED_DATASYNC is required only when type is DISTRIBUTED_DEVICE.
6211     * @param { DistributedConfig } config - Indicates the distributed config of the tables. For details, see {@link DistributedConfig}.
6212     * @param { AsyncCallback<void> } callback - The callback of setDistributedTables.
6213     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6214     * <br>2. Incorrect parameter types.
6215     * @throws { BusinessError } 801 - Capability not supported.
6216     * @throws { BusinessError } 14800000 - Inner error.
6217     * @throws { BusinessError } 14800014 - Already closed.
6218     * @throws { BusinessError } 14800051 - The type of the distributed table does not match.
6219     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6220     * @since 12
6221     */
6222    setDistributedTables(
6223      tables: Array<string>,
6224      type: DistributedType,
6225      config: DistributedConfig,
6226      callback: AsyncCallback<void>
6227    ): void;
6228
6229    /**
6230     * Set table to be a distributed table.
6231     *
6232     * @permission ohos.permission.DISTRIBUTED_DATASYNC
6233     * @param { Array<string> } tables - Indicates the table names you want to set.
6234     * @param { DistributedType } type - Indicates the distributed type {@link DistributedType}.
6235     * This method only works when type equals to DistributedType.DISTRIBUTED_CLOUD
6236     * @param { DistributedConfig } config - Indicates the distributed config of the tables. For details, see {@link DistributedConfig}.
6237     * @returns { Promise<void> } The promise returned by the function.
6238     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6239     * <br>2. Incorrect parameter types.
6240     * @throws { BusinessError } 14800000 - Inner error.
6241     * @throws { BusinessError } 14800051 - The type of the distributed table does not match.
6242     * @throws { BusinessError } 801 - Capability not supported.
6243     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6244     * @since 10
6245     */
6246    /**
6247     * Set table to be a distributed table.
6248     *
6249     * @permission ohos.permission.DISTRIBUTED_DATASYNC
6250     * @param { Array<string> } tables - Indicates the table names you want to set.
6251     * @param { DistributedType } type - Indicates the distributed type {@link DistributedType}.
6252     * ohos.permission.DISTRIBUTED_DATASYNC is required only when type is DISTRIBUTED_DEVICE.
6253     * @param { DistributedConfig } config - Indicates the distributed config of the tables. For details, see {@link DistributedConfig}.
6254     * @returns { Promise<void> } The promise returned by the function.
6255     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6256     * <br>2. Incorrect parameter types.
6257     * @throws { BusinessError } 801 - Capability not supported.
6258     * @throws { BusinessError } 14800000 - Inner error.
6259     * @throws { BusinessError } 14800014 - Already closed.
6260     * @throws { BusinessError } 14800051 - The type of the distributed table does not match.
6261     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6262     * @since 12
6263     */
6264    setDistributedTables(tables: Array<string>, type?: DistributedType, config?: DistributedConfig): Promise<void>;
6265
6266    /**
6267     * Obtain distributed table name of specified remote device according to local table name.
6268     * When query remote device database, distributed table name is needed.
6269     *
6270     * @permission ohos.permission.DISTRIBUTED_DATASYNC
6271     * @param { string } device - Indicates the remote device.
6272     * @param { string } table - {string}: the distributed table name.
6273     * @param { AsyncCallback<string> } callback
6274     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6275     * <br>2. Incorrect parameter types.
6276     * @throws { BusinessError } 14800000 - Inner error.
6277     * @throws { BusinessError } 801 - Capability not supported.
6278     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6279     * @since 9
6280     */
6281    /**
6282     * Obtain distributed table name of specified remote device according to local table name.
6283     * When query remote device database, distributed table name is needed.
6284     *
6285     * @permission ohos.permission.DISTRIBUTED_DATASYNC
6286     * @param { string } device - Indicates the remote device.
6287     * @param { string } table - {string}: the distributed table name.
6288     * @param { AsyncCallback<string> } callback
6289     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6290     * <br>2. Incorrect parameter types.
6291     * @throws { BusinessError } 801 - Capability not supported.
6292     * @throws { BusinessError } 14800000 - Inner error.
6293     * @throws { BusinessError } 14800014 - Already closed.
6294     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6295     * @since 12
6296     */
6297    obtainDistributedTableName(device: string, table: string, callback: AsyncCallback<string>): void;
6298
6299    /**
6300     * Obtain distributed table name of specified remote device according to local table name.
6301     * When query remote device database, distributed table name is needed.
6302     *
6303     * @permission ohos.permission.DISTRIBUTED_DATASYNC
6304     * @param { string } device - Indicates the remote device.
6305     * @param { string } table
6306     * @returns { Promise<string> } {string}: the distributed table name.
6307     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6308     * <br>2. Incorrect parameter types.
6309     * @throws { BusinessError } 14800000 - Inner error.
6310     * @throws { BusinessError } 801 - Capability not supported.
6311     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6312     * @since 9
6313     */
6314    /**
6315     * Obtain distributed table name of specified remote device according to local table name.
6316     * When query remote device database, distributed table name is needed.
6317     *
6318     * @permission ohos.permission.DISTRIBUTED_DATASYNC
6319     * @param { string } device - Indicates the remote device.
6320     * @param { string } table
6321     * @returns { Promise<string> } {string}: the distributed table name.
6322     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6323     * <br>2. Incorrect parameter types.
6324     * @throws { BusinessError } 801 - Capability not supported.
6325     * @throws { BusinessError } 14800000 - Inner error.
6326     * @throws { BusinessError } 14800014 - Already closed.
6327     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6328     * @since 12
6329     */
6330    obtainDistributedTableName(device: string, table: string): Promise<string>;
6331
6332    /**
6333     * Sync data between devices.
6334     *
6335     * @permission ohos.permission.DISTRIBUTED_DATASYNC
6336     * @param { SyncMode } mode - Indicates the database synchronization mode.
6337     * @param { RdbPredicates } predicates - The specified sync condition by the instance object of {@link RdbPredicates}.
6338     * @param { AsyncCallback<Array<[string, number]>> } callback - {Array<[string, number]>}: devices sync status array,
6339     *                                                              {string}: device id,
6340     *                                                              {number}: device sync status.
6341     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6342     * <br>2. Incorrect parameter types.
6343     * @throws { BusinessError } 14800000 - Inner error.
6344     * @throws { BusinessError } 801 - Capability not supported.
6345     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6346     * @since 9
6347     */
6348    /**
6349     * Sync data between devices.
6350     *
6351     * @permission ohos.permission.DISTRIBUTED_DATASYNC
6352     * @param { SyncMode } mode - Indicates the database synchronization mode.
6353     * @param { RdbPredicates } predicates - The specified sync condition by the instance object of {@link RdbPredicates}.
6354     * @param { AsyncCallback<Array<[string, number]>> } callback - {Array<[string, number]>}: devices sync status array,
6355     *                                                              {string}: device id,
6356     *                                                              {number}: device sync status.
6357     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6358     * <br>2. Incorrect parameter types.
6359     * @throws { BusinessError } 801 - Capability not supported.
6360     * @throws { BusinessError } 14800000 - Inner error.
6361     * @throws { BusinessError } 14800014 - Already closed.
6362     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6363     * @since 12
6364     */
6365    sync(mode: SyncMode, predicates: RdbPredicates, callback: AsyncCallback<Array<[string, number]>>): void;
6366
6367    /**
6368     * Sync data between devices.
6369     *
6370     * @permission ohos.permission.DISTRIBUTED_DATASYNC
6371     * @param { SyncMode } mode - Indicates the database synchronization mode.
6372     * @param { RdbPredicates } predicates - The specified sync condition by the instance object of {@link RdbPredicates}.
6373     * @returns { Promise<Array<[string, number]>> } {Array<[string, number]>}: devices sync status array, {string}: device id, {number}: device sync status.
6374     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6375     * <br>2. Incorrect parameter types.
6376     * @throws { BusinessError } 14800000 - Inner error.
6377     * @throws { BusinessError } 801 - Capability not supported.
6378     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6379     * @since 9
6380     */
6381    /**
6382     * Sync data between devices.
6383     *
6384     * @permission ohos.permission.DISTRIBUTED_DATASYNC
6385     * @param { SyncMode } mode - Indicates the database synchronization mode.
6386     * @param { RdbPredicates } predicates - The specified sync condition by the instance object of {@link RdbPredicates}.
6387     * @returns { Promise<Array<[string, number]>> } {Array<[string, number]>}: devices sync status array, {string}: device id, {number}: device sync status.
6388     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6389     * <br>2. Incorrect parameter types.
6390     * @throws { BusinessError } 801 - Capability not supported.
6391     * @throws { BusinessError } 14800000 - Inner error.
6392     * @throws { BusinessError } 14800014 - Already closed.
6393     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6394     * @since 12
6395     */
6396    sync(mode: SyncMode, predicates: RdbPredicates): Promise<Array<[string, number]>>;
6397
6398    /**
6399     * Sync data to cloud.
6400     *
6401     * @param { SyncMode } mode - indicates the database synchronization mode.
6402     * @param { Callback<ProgressDetails> } progress - the specified sync condition by the instance object of {@link ProgressDetails}.
6403     * @param { AsyncCallback<void> } callback - {Array<[string, number]>}: devices sync status array, {string}: device id, {number}: device sync status.
6404     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Need 2 - 4  parameter(s). 2. The RdbStore must be not nullptr.
6405     * 3. The mode must be a SyncMode of cloud. 4. The progress must be a callback type. 5. The callback must be a function.
6406     * @throws { BusinessError } 801 - Capability not supported.
6407     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
6408     * @since 10
6409     */
6410    /**
6411     * Sync data to cloud.
6412     *
6413     * @param { SyncMode } mode - indicates the database synchronization mode.
6414     * @param { Callback<ProgressDetails> } progress - the specified sync condition by the instance object of {@link ProgressDetails}.
6415     * @param { AsyncCallback<void> } callback - {Array<[string, number]>}: devices sync status array, {string}: device id, {number}: device sync status.
6416     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Need 2 - 4  parameter(s). 2. The RdbStore must be not nullptr.
6417     * 3. The mode must be a SyncMode of cloud. 4. The progress must be a callback type. 5. The callback must be a function.
6418     * @throws { BusinessError } 801 - Capability not supported.
6419     * @throws { BusinessError } 14800014 - Already closed.
6420     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
6421     * @since 12
6422     */
6423    cloudSync(mode: SyncMode, progress: Callback<ProgressDetails>, callback: AsyncCallback<void>): void;
6424
6425    /**
6426     * Sync data to cloud.
6427     *
6428     * @param { SyncMode } mode - indicates the database synchronization mode.
6429     * @param { Callback<ProgressDetails> } progress - the specified sync condition by the instance object of {@link ProgressDetails}.
6430     * @returns { Promise<void> } : devices sync status array, {string}: device id, {number}: device sync status.
6431     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Need 2 - 4  parameter(s). 2. The RdbStore must be not nullptr.
6432     * 3. The mode must be a SyncMode of cloud. 4. The progress must be a callback type.
6433     * @throws { BusinessError } 801 - Capability not supported.
6434     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
6435     * @since 10
6436     */
6437    /**
6438     * Sync data to cloud.
6439     *
6440     * @param { SyncMode } mode - indicates the database synchronization mode.
6441     * @param { Callback<ProgressDetails> } progress - the specified sync condition by the instance object of {@link ProgressDetails}.
6442     * @returns { Promise<void> } : devices sync status array, {string}: device id, {number}: device sync status.
6443     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Need 2 - 4  parameter(s). 2. The RdbStore must be not nullptr.
6444     * 3. The mode must be a SyncMode of cloud. 4. The progress must be a callback type.
6445     * @throws { BusinessError } 801 - Capability not supported.
6446     * @throws { BusinessError } 14800014 - Already closed.
6447     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
6448     * @since 12
6449     */
6450    cloudSync(mode: SyncMode, progress: Callback<ProgressDetails>): Promise<void>;
6451
6452    /**
6453     * Sync data to cloud.
6454     *
6455     * @param { SyncMode } mode - indicates the database synchronization mode.
6456     * @param { string[] } tables - indicates the database synchronization mode.
6457     * @param { Callback<ProgressDetails> } progress - the specified sync condition by the instance object of {@link ProgressDetails}.
6458     * @param { AsyncCallback<void> } callback - {Array<[string, number]>}: devices sync status array, {string}: device id, {number}: device sync status.
6459     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Need 2 - 4  parameter(s). 2. The RdbStore must be not nullptr.
6460     * 3. The mode must be a SyncMode of cloud. 4. The tablesNames must be not empty. 5. The progress must be a callback type.
6461     * 6. The callback must be a function.
6462     * @throws { BusinessError } 801 - Capability not supported.
6463     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
6464     * @since 10
6465     */
6466    /**
6467     * Sync data to cloud.
6468     *
6469     * @param { SyncMode } mode - indicates the database synchronization mode.
6470     * @param { string[] } tables - indicates the database synchronization mode.
6471     * @param { Callback<ProgressDetails> } progress - the specified sync condition by the instance object of {@link ProgressDetails}.
6472     * @param { AsyncCallback<void> } callback - {Array<[string, number]>}: devices sync status array, {string}: device id, {number}: device sync status.
6473     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Need 2 - 4  parameter(s). 2. The RdbStore must be not nullptr.
6474     * 3. The mode must be a SyncMode of cloud. 4. The tablesNames must be not empty. 5. The progress must be a callback type.
6475     * 6. The callback must be a function.
6476     * @throws { BusinessError } 801 - Capability not supported.
6477     * @throws { BusinessError } 14800014 - Already closed.
6478     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
6479     * @since 12
6480     */
6481    cloudSync(
6482      mode: SyncMode,
6483      tables: string[],
6484      progress: Callback<ProgressDetails>,
6485      callback: AsyncCallback<void>
6486    ): void;
6487
6488    /**
6489     * Sync data to cloud.
6490     *
6491     * @param { SyncMode } mode - indicates the database synchronization mode.
6492     * @param { string[] } tables - indicates the database synchronization mode.
6493     * @param { Callback<ProgressDetails> } progress - the specified sync condition by the instance object of {@link ProgressDetails}.
6494     * @returns { Promise<void> } : devices sync status array, {string}: device id, {number}: device sync status.
6495     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Need 2 - 4  parameter(s). 2. The RdbStore must be not nullptr.
6496     * 3. The mode must be a SyncMode of cloud. 4. The tablesNames must be not empty. 5. The progress must be a callback type.
6497     * @throws { BusinessError } 801 - Capability not supported.
6498     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
6499     * @since 10
6500     */
6501    /**
6502     * Sync data to cloud.
6503     *
6504     * @param { SyncMode } mode - indicates the database synchronization mode.
6505     * @param { string[] } tables - indicates the database synchronization mode.
6506     * @param { Callback<ProgressDetails> } progress - the specified sync condition by the instance object of {@link ProgressDetails}.
6507     * @returns { Promise<void> } : devices sync status array, {string}: device id, {number}: device sync status.
6508     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Need 2 - 4  parameter(s). 2. The RdbStore must be not nullptr.
6509     * 3. The mode must be a SyncMode of cloud. 4. The tablesNames must be not empty. 5. The progress must be a callback type.
6510     * @throws { BusinessError } 801 - Capability not supported.
6511     * @throws { BusinessError } 14800014 - Already closed.
6512     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
6513     * @since 12
6514     */
6515    cloudSync(mode: SyncMode, tables: string[], progress: Callback<ProgressDetails>): Promise<void>;
6516
6517    /**
6518     * Sync data to cloud.
6519     *
6520     * @param { SyncMode } mode - indicates the database synchronization mode.
6521     * @param { RdbPredicates } predicates - The specified sync condition by the instance object of {@link RdbPredicates}.
6522     * @param { Callback<ProgressDetails> } progress - the specified sync condition by the instance object of {@link ProgressDetails}.
6523     * @param { AsyncCallback<void> } callback - The callback of cloudSync.
6524     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Need 2 - 4  parameter(s). 2. The RdbStore must be not nullptr.
6525     * 3. The mode must be a SyncMode of cloud. 4. The tablesNames must be not empty. 5. The progress must be a callback type.
6526     * 6. The callback must be a function.
6527     * @throws { BusinessError } 202 - if permission verification failed, application which is not a system application uses system API.
6528     * @throws { BusinessError } 801 - Capability not supported.
6529     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
6530     * @systemapi
6531     * @since 11
6532     */
6533    /**
6534     * Sync data to cloud.
6535     *
6536     * @param { SyncMode } mode - indicates the database synchronization mode.
6537     * @param { RdbPredicates } predicates - The specified sync condition by the instance object of {@link RdbPredicates}.
6538     * @param { Callback<ProgressDetails> } progress - the specified sync condition by the instance object of {@link ProgressDetails}.
6539     * @param { AsyncCallback<void> } callback - The callback of cloudSync.
6540     * @throws { BusinessError } 202 - if permission verification failed, application which is not a system application uses system API.
6541     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Need 2 - 4  parameter(s). 2. The RdbStore must be not nullptr.
6542     * 3. The mode must be a SyncMode of cloud. 4. The tablesNames must be not empty. 5. The progress must be a callback type.
6543     * 6. The callback must be a function.
6544     * @throws { BusinessError } 801 - Capability not supported.
6545     * @throws { BusinessError } 14800014 - Already closed.
6546     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
6547     * @systemapi
6548     * @since 12
6549     */
6550    cloudSync(
6551      mode: SyncMode,
6552      predicates: RdbPredicates,
6553      progress: Callback<ProgressDetails>,
6554      callback: AsyncCallback<void>
6555    ): void;
6556
6557    /**
6558     * Sync data to cloud.
6559     *
6560     * @param { SyncMode } mode - indicates the database synchronization mode.
6561     * @param { RdbPredicates } predicates - The specified sync condition by the instance object of {@link RdbPredicates}.
6562     * @param { Callback<ProgressDetails> } progress - the specified sync condition by the instance object of {@link ProgressDetails}.
6563     * @returns { Promise<void> } : The promise returned by the function.
6564     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Need 2 - 4  parameter(s). 2. The RdbStore must be not nullptr.
6565     * 3. The mode must be a SyncMode of cloud. 4. The tablesNames must be not empty. 5. The progress must be a callback type.
6566     * @throws { BusinessError } 202 - if permission verification failed, application which is not a system
6567     * application uses system API.
6568     * @throws { BusinessError } 801 - Capability not supported.
6569     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
6570     * @systemapi
6571     * @since 11
6572     */
6573    /**
6574     * Sync data to cloud.
6575     *
6576     * @param { SyncMode } mode - indicates the database synchronization mode.
6577     * @param { RdbPredicates } predicates - The specified sync condition by the instance object of {@link RdbPredicates}.
6578     * @param { Callback<ProgressDetails> } progress - the specified sync condition by the instance object of {@link ProgressDetails}.
6579     * @returns { Promise<void> } : The promise returned by the function.
6580     * @throws { BusinessError } 202 - if permission verification failed, application which is not a system
6581     * application uses system API.
6582     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Need 2 - 4  parameter(s). 2. The RdbStore must be not nullptr.
6583     * 3. The mode must be a SyncMode of cloud. 4. The tablesNames must be not empty. 5. The progress must be a callback type.
6584     * @throws { BusinessError } 801 - Capability not supported.
6585     * @throws { BusinessError } 14800014 - Already closed.
6586     * @syscap SystemCapability.DistributedDataManager.CloudSync.Client
6587     * @systemapi
6588     * @since 12
6589     */
6590    cloudSync(mode: SyncMode, predicates: RdbPredicates, progress: Callback<ProgressDetails>): Promise<void>;
6591
6592    /**
6593     * Queries remote data in the database based on specified conditions before Synchronizing Data.
6594     *
6595     * @param { string } device - Indicates specified remote device.
6596     * @param { string } table - Indicates the target table.
6597     * @param { RdbPredicates } predicates - The specified remote remote query condition by the instance object of {@link RdbPredicates}.
6598     * @param { Array<string> } columns - The columns to remote query. If the value is empty array, the remote query applies to all columns.
6599     * @param { AsyncCallback<ResultSet> } callback - The {@link ResultSet} object if the operation is successful.
6600     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6601     * <br>2. Incorrect parameter types.
6602     * @throws { BusinessError } 14800000 - Inner error.
6603     * @throws { BusinessError } 801 - Capability not supported.
6604     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6605     * @since 9
6606     */
6607    /**
6608     * Queries remote data in the database based on specified conditions before Synchronizing Data.
6609     *
6610     * @param { string } device - Indicates specified remote device.
6611     * @param { string } table - Indicates the target table.
6612     * @param { RdbPredicates } predicates - The specified remote remote query condition by the instance object of {@link RdbPredicates}.
6613     * @param { Array<string> } columns - The columns to remote query. If the value is empty array, the remote query applies to all columns.
6614     * @param { AsyncCallback<ResultSet> } callback - The {@link ResultSet} object if the operation is successful.
6615     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6616     * <br>2. Incorrect parameter types.
6617     * @throws { BusinessError } 801 - Capability not supported.
6618     * @throws { BusinessError } 14800000 - Inner error.
6619     * @throws { BusinessError } 14800014 - Already closed.
6620     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6621     * @since 12
6622     */
6623    remoteQuery(
6624      device: string,
6625      table: string,
6626      predicates: RdbPredicates,
6627      columns: Array<string>,
6628      callback: AsyncCallback<ResultSet>
6629    ): void;
6630
6631    /**
6632     * Queries remote data in the database based on specified conditions before Synchronizing Data.
6633     *
6634     * @param { string } device - Indicates specified remote device.
6635     * @param { string } table - Indicates the target table.
6636     * @param { RdbPredicates } predicates - The specified remote remote query condition by the instance object of {@link RdbPredicates}.
6637     * @param { Array<string> } columns - The columns to remote query. If the value is empty array, the remote query applies to all columns.
6638     * @returns { Promise<ResultSet> } The {@link ResultSet} object if the operation is successful.
6639     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6640     * <br>2. Incorrect parameter types.
6641     * @throws { BusinessError } 14800000 - Inner error.
6642     * @throws { BusinessError } 801 - Capability not supported.
6643     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6644     * @since 9
6645     */
6646    /**
6647     * Queries remote data in the database based on specified conditions before Synchronizing Data.
6648     *
6649     * @param { string } device - Indicates specified remote device.
6650     * @param { string } table - Indicates the target table.
6651     * @param { RdbPredicates } predicates - The specified remote remote query condition by the instance object of {@link RdbPredicates}.
6652     * @param { Array<string> } columns - The columns to remote query. If the value is empty array, the remote query applies to all columns.
6653     * @returns { Promise<ResultSet> } The {@link ResultSet} object if the operation is successful.
6654     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6655     * <br>2. Incorrect parameter types.
6656     * @throws { BusinessError } 801 - Capability not supported.
6657     * @throws { BusinessError } 14800000 - Inner error.
6658     * @throws { BusinessError } 14800014 - Already closed.
6659     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6660     * @since 12
6661     */
6662    remoteQuery(device: string, table: string, predicates: RdbPredicates, columns: Array<string>): Promise<ResultSet>;
6663
6664    /**
6665     * Registers an observer for the database. When data in the distributed database changes,
6666     * the callback will be invoked.
6667     *
6668     * @param { 'dataChange' } event - Indicates the event must be string 'dataChange'.
6669     * @param { SubscribeType } type - Indicates the subscription type, which is defined in {@link SubscribeType}.
6670     * If its value is SUBSCRIBE_TYPE_REMOTE, ohos.permission.DISTRIBUTED_DATASYNC is required.
6671     * @param { Callback<Array<string>> } observer - {Array<string>}: the observer of data change events in the distributed database.
6672     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6673     * <br>2. Incorrect parameter types.
6674     * @throws { BusinessError } 801 - Capability not supported.
6675     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6676     * @since 9
6677     */
6678    /**
6679     * Registers an observer for the database. When data in the distributed database changes,
6680     * the callback will be invoked.
6681     *
6682     * @param { 'dataChange' } event - Indicates the event must be string 'dataChange'.
6683     * @param { SubscribeType } type - Indicates the subscription type, which is defined in {@link SubscribeType}.
6684     * If its value is SUBSCRIBE_TYPE_REMOTE, ohos.permission.DISTRIBUTED_DATASYNC is required.
6685     * @param { Callback<Array<string>> } observer - {Array<string>}: the observer of data change events in the distributed database.
6686     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6687     * <br>2. Incorrect parameter types.
6688     * @throws { BusinessError } 801 - Capability not supported.
6689     * @throws { BusinessError } 14800014 - Already closed.
6690     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6691     * @since 12
6692     */
6693    on(event: 'dataChange', type: SubscribeType, observer: Callback<Array<string>>): void;
6694
6695    /**
6696     * Registers an observer for the database. When data in the distributed database or the local database changes,
6697     * the callback will be invoked.
6698     *
6699     * @param { 'dataChange' } event - Indicates the event must be string 'dataChange'.
6700     * @param { SubscribeType } type - Indicates the subscription type, which is defined in {@link SubscribeType}.
6701     * If its value is SUBSCRIBE_TYPE_REMOTE, ohos.permission.DISTRIBUTED_DATASYNC is required.
6702     * If its value is SUBSCRIBE_TYPE_LOCAL_DETAILS, the callback will be invoked for data changes in the local database.
6703     * @param { Callback<Array<string>> | Callback<Array<ChangeInfo>> } observer
6704     * {Array<string>}: The observer of data change events in the distributed database.
6705     * {Array<ChangeInfo>}: The change info of data change events in the distributed database or the local database.
6706     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6707     * <br>2. Incorrect parameter types.
6708     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
6709     * @throws { BusinessError } 801 - Capability not supported.
6710     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6711     * @since 10
6712     */
6713    /**
6714     * Registers an observer for the database. When data in the distributed database changes,
6715     * the callback will be invoked.
6716     *
6717     * @param { 'dataChange' } event - Indicates the event must be string 'dataChange'.
6718     * @param { SubscribeType } type - Indicates the subscription type, which is defined in {@link SubscribeType}.
6719     * If its value is SUBSCRIBE_TYPE_REMOTE, ohos.permission.DISTRIBUTED_DATASYNC is required.
6720     * @param { Callback<Array<string>> | Callback<Array<ChangeInfo>> } observer
6721     * {Array<string>}: The observer of data change events in the distributed database.
6722     * {Array<ChangeInfo>}: The change info of data change events in the distributed database.
6723     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
6724     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6725     * <br>2. Incorrect parameter types.
6726     * @throws { BusinessError } 801 - Capability not supported.
6727     * @throws { BusinessError } 14800014 - Already closed.
6728     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6729     * @since 12
6730     */
6731    on(event: 'dataChange', type: SubscribeType, observer: Callback<Array<string>> | Callback<Array<ChangeInfo>>): void;
6732
6733    /**
6734     * Registers an observer for the database.
6735     *
6736     * @param { string } event - Indicates the subscription event.
6737     * @param { boolean } interProcess - Indicates whether it is an interprocess subscription or an in-process subscription.
6738     * @param { Callback<void> } observer - The observer of data change events in the database.
6739     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6740     * <br>2. Incorrect parameter types.
6741     * @throws { BusinessError } 801 - Capability not supported.
6742     * @throws { BusinessError } 14800050 - Failed to obtain subscription service.
6743     * @throws { BusinessError } 14800000 - Inner error.
6744     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6745     * @since 10
6746     */
6747    /**
6748     * Registers an observer for the database.
6749     *
6750     * @param { string } event - Indicates the subscription event.
6751     * @param { boolean } interProcess - Indicates whether it is an interprocess subscription or an in-process subscription.
6752     * @param { Callback<void> } observer - The observer of data change events in the database.
6753     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6754     * <br>2. Incorrect parameter types.
6755     * @throws { BusinessError } 801 - Capability not supported.
6756     * @throws { BusinessError } 14800000 - Inner error.
6757     * @throws { BusinessError } 14800014 - Already closed.
6758     * @throws { BusinessError } 14800050 - Failed to obtain subscription service.
6759     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6760     * @since 12
6761     */
6762    on(event: string, interProcess: boolean, observer: Callback<void>): void;
6763
6764    /**
6765     * Register an automatic synchronization callback to the database.
6766     *
6767     * @param { 'autoSyncProgress' } event - Indicates the event must be string 'autoSyncProgress'.
6768     * @param { Callback<ProgressDetails> } progress - the specified sync condition by the instance object of {@link ProgressDetails}.
6769     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Need 2 - 3  parameter(s)! 2. The RdbStore must be valid.
6770     * 3. The event must be a not empty string. 4. The progress must be function.
6771     * @throws { BusinessError } 801 - Capability not supported.
6772     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6773     * @since 11
6774     */
6775    /**
6776     * Register an automatic synchronization callback to the database.
6777     *
6778     * @param { 'autoSyncProgress' } event - Indicates the event must be string 'autoSyncProgress'.
6779     * @param { Callback<ProgressDetails> } progress - the specified sync condition by the instance object of {@link ProgressDetails}.
6780     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Need 2 - 3  parameter(s)! 2. The RdbStore must be valid.
6781     * 3. The event must be a not empty string. 4. The progress must be function.
6782     * @throws { BusinessError } 801 - Capability not supported.
6783     * @throws { BusinessError } 14800014 - Already closed.
6784     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6785     * @since 12
6786     */
6787    on(event: 'autoSyncProgress', progress: Callback<ProgressDetails>): void;
6788
6789    /**
6790     * Subscribes to the SQL statistics.
6791     * @param { 'statistics' } event - Indicates the event type, which must be 'statistics'.
6792     * @param { Callback<SqlExecutionInfo> } observer - Indicates the callback used to return the SQL execution statistics {@link SqlExeInfo} in the database.
6793     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types.
6794     * @throws { BusinessError } 801 - Capability not supported.
6795     * @throws { BusinessError } 14800000 - Inner error.
6796     * @throws { BusinessError } 14800014 - Already closed.
6797     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6798     * @since 12
6799     */
6800    on(event: 'statistics', observer: Callback<SqlExecutionInfo> ): void;
6801
6802    /**
6803     * Remove specified observer of specified type from the database.
6804     *
6805     * @param { 'dataChange' } event - Indicates the event must be string 'dataChange'.
6806     * @param { SubscribeType } type - Indicates the subscription type, which is defined in {@link SubscribeType}.
6807     * If its value is SUBSCRIBE_TYPE_REMOTE, ohos.permission.DISTRIBUTED_DATASYNC is required.
6808     * @param { Callback<Array<string>> } observer - {Array<string>}: the data change observer already registered.
6809     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6810     * <br>2. Incorrect parameter types.
6811     * @throws { BusinessError } 801 - Capability not supported.
6812     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6813     * @since 9
6814     */
6815    /**
6816     * Remove specified observer of specified type from the database.
6817     *
6818     * @param { 'dataChange' } event - Indicates the event must be string 'dataChange'.
6819     * @param { SubscribeType } type - Indicates the subscription type, which is defined in {@link SubscribeType}.
6820     * If its value is SUBSCRIBE_TYPE_REMOTE, ohos.permission.DISTRIBUTED_DATASYNC is required.
6821     * @param { Callback<Array<string>> } observer - {Array<string>}: the data change observer already registered.
6822     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6823     * <br>2. Incorrect parameter types.
6824     * @throws { BusinessError } 801 - Capability not supported.
6825     * @throws { BusinessError } 14800014 - Already closed.
6826     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6827     * @since 12
6828     */
6829    off(event: 'dataChange', type: SubscribeType, observer: Callback<Array<string>>): void;
6830
6831    /**
6832     * Remove specified observer of specified type from the database.
6833     *
6834     * @param { 'dataChange' } event - indicates the event must be string 'dataChange'.
6835     * @param { SubscribeType } type - indicates the subscription type, which is defined in {@link SubscribeType}.
6836     * If its value is SUBSCRIBE_TYPE_REMOTE, ohos.permission.DISTRIBUTED_DATASYNC is required.
6837     * @param { Callback<Array<string>> | Callback<Array<ChangeInfo>> } observer - {Array<string>}: the data change observer already registered.
6838     * {Array<ChangeInfo>}: the change info already registered.
6839     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6840     * <br>2. Incorrect parameter types.
6841     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
6842     * @throws { BusinessError } 801 - Capability not supported.
6843     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6844     * @since 10
6845     */
6846    /**
6847     * Remove specified observer of specified type from the database.
6848     *
6849     * @param { 'dataChange' } event - indicates the event must be string 'dataChange'.
6850     * @param { SubscribeType } type - indicates the subscription type, which is defined in {@link SubscribeType}.
6851     * If its value is SUBSCRIBE_TYPE_REMOTE, ohos.permission.DISTRIBUTED_DATASYNC is required.
6852     * @param { Callback<Array<string>> | Callback<Array<ChangeInfo>> } observer - {Array<string>}: the data change observer already registered.
6853     * {Array<ChangeInfo>}: the change info already registered.
6854     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
6855     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6856     * <br>2. Incorrect parameter types.
6857     * @throws { BusinessError } 801 - Capability not supported.
6858     * @throws { BusinessError } 14800014 - Already closed.
6859     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6860     * @since 12
6861     */
6862    off(
6863      event: 'dataChange',
6864      type: SubscribeType,
6865      observer?: Callback<Array<string>> | Callback<Array<ChangeInfo>>
6866    ): void;
6867
6868    /**
6869     * Remove specified observer of specified type from the database.
6870     *
6871     * @param { string } event - Indicates the subscription event.
6872     * @param { boolean } interProcess - Indicates whether it is an interprocess subscription or an in-process subscription.
6873     * @param { Callback<void> } observer - The data change observer already registered.
6874     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6875     * <br>2. Incorrect parameter types.
6876     * @throws { BusinessError } 801 - Capability not supported.
6877     * @throws { BusinessError } 14800050 - Failed to obtain subscription service.
6878     * @throws { BusinessError } 14800000 - Inner error.
6879     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6880     * @since 10
6881     */
6882    /**
6883     * Remove specified observer of specified type from the database.
6884     *
6885     * @param { string } event - Indicates the subscription event.
6886     * @param { boolean } interProcess - Indicates whether it is an interprocess subscription or an in-process subscription.
6887     * @param { Callback<void> } observer - The data change observer already registered.
6888     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6889     * <br>2. Incorrect parameter types.
6890     * @throws { BusinessError } 801 - Capability not supported.
6891     * @throws { BusinessError } 14800000 - Inner error.
6892     * @throws { BusinessError } 14800014 - Already closed.
6893     * @throws { BusinessError } 14800050 - Failed to obtain subscription service.
6894     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6895     * @since 12
6896     */
6897    off(event: string, interProcess: boolean, observer?: Callback<void>): void;
6898
6899    /**
6900     * Unregister the database auto synchronization callback.
6901     *
6902     * @param { 'autoSyncProgress' } event - indicates the event must be string 'autoSyncProgress'.
6903     * @param { Callback<ProgressDetails> } progress - the specified sync condition by the instance object of {@link ProgressDetails}.
6904     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Need 1 - 3  parameter(s)! 2. The RdbStore must be valid.
6905     * 3. The event must be a not empty string. 4. The progress must be function.
6906     * @throws { BusinessError } 801 - Capability not supported.
6907     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6908     * @since 11
6909     */
6910    /**
6911     * Unregister the database auto synchronization callback.
6912     *
6913     * @param { 'autoSyncProgress' } event - indicates the event must be string 'autoSyncProgress'.
6914     * @param { Callback<ProgressDetails> } progress - the specified sync condition by the instance object of {@link ProgressDetails}.
6915     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Need 1 - 3  parameter(s)! 2. The RdbStore must be valid.
6916     * 3. The event must be a not empty string. 4. The progress must be function.
6917     * @throws { BusinessError } 801 - Capability not supported.
6918     * @throws { BusinessError } 14800014 - Already closed.
6919     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6920     * @since 12
6921     */
6922    off(event: 'autoSyncProgress', progress?: Callback<ProgressDetails>): void;
6923
6924    /**
6925     * Unsubscribes from the SQL statistics.
6926     * @param { 'statistics' } event - Indicates the event type, which must be 'statistics'.
6927     * @param { Callback<SqlExecutionInfo> } observer - Indicates the callback to unregister.
6928     * @throws { BusinessError } 401 - Parameter error.
6929     * @throws { BusinessError } 801 - Capability not supported.
6930     * @throws { BusinessError } 14800000 - Inner error.
6931     * @throws { BusinessError } 14800014 - Already closed.
6932     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6933     * @since 12
6934     */
6935    off(event: 'statistics', observer?: Callback<SqlExecutionInfo> ): void;
6936
6937    /**
6938     * Notifies the registered observers of a change to the data resource specified by Uri.
6939     *
6940     * @param { string } event - Indicates the subscription event.
6941     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6942     * <br>2. Incorrect parameter types.
6943     * @throws { BusinessError } 801 - Capability not supported.
6944     * @throws { BusinessError } 14800050 - Failed to obtain subscription service.
6945     * @throws { BusinessError } 14800000 - Inner error.
6946     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6947     * @since 10
6948     */
6949    /**
6950     * Notifies the registered observers of a change to the data resource specified by Uri.
6951     *
6952     * @param { string } event - Indicates the subscription event.
6953     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6954     * <br>2. Incorrect parameter types.
6955     * @throws { BusinessError } 801 - Capability not supported.
6956     * @throws { BusinessError } 14800000 - Inner error.
6957     * @throws { BusinessError } 14800014 - Already closed.
6958     * @throws { BusinessError } 14800050 - Failed to obtain subscription service.
6959     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6960     * @since 12
6961     */
6962    emit(event: string): void;
6963
6964    /**
6965     * Close the RdbStore and all resultSets.
6966     *
6967     * @returns { Promise<void> } The promise returned by the function.
6968     * @throws { BusinessError } 401 - Parameter error. The store must not be nullptr.
6969     * @throws { BusinessError } 14800000 - Inner error.
6970     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
6971     * @since 12
6972     */
6973    close(): Promise<void>;
6974
6975    /**
6976     * Attaches a database file to the currently linked database.
6977     *
6978     * @param { string } fullPath - Indicates the path of the database file to attach.
6979     * @param { string } attachName - Indicates the alias of the database.
6980     * @param { number } waitTime - Indicates the maximum time allowed for attaching the database file.
6981     * @returns { Promise<number> } Promise used to return the number of attached databases.
6982     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6983     * <br>2. Incorrect parameter types.
6984     * @throws { BusinessError } 801 - Capability not supported.
6985     * @throws { BusinessError } 14800000 - Inner error.
6986     * @throws { BusinessError } 14800010 - Invalid database path.
6987     * @throws { BusinessError } 14800011 - Database corrupted.
6988     * @throws { BusinessError } 14800014 - Already closed.
6989     * @throws { BusinessError } 14800015 - The database does not respond.
6990     * @throws { BusinessError } 14800016 - The database is already attached.
6991     * @throws { BusinessError } 14800021 - SQLite: Generic error.
6992     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
6993     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
6994     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
6995     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
6996     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
6997     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
6998     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
6999     * @throws { BusinessError } 14800029 - SQLite: The database is full.
7000     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
7001     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
7002     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
7003     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
7004     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
7005     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
7006     * @since 12
7007     */
7008    attach(fullPath: string, attachName: string, waitTime?: number) : Promise<number>;
7009
7010    /**
7011     * Attaches a database file to the currently linked database.
7012     *
7013     * @param { Context } context - Indicates the context of an application or ability.
7014     * @param { StoreConfig } config - Indicates the {@link StoreConfig} configuration of the database related to this RDB store.
7015     * @param { string } attachName - Indicates the alias of the database.
7016     * @param { number } waitTime - Indicates the maximum time allowed for attaching the database file.
7017     * @returns { Promise<number> } Promise used to return the number of attached databases.
7018     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
7019     * <br>2. Incorrect parameter types.
7020     * @throws { BusinessError } 801 - Capability not supported.
7021     * @throws { BusinessError } 14800000 - Inner error.
7022     * @throws { BusinessError } 14800010 - Invalid database path.
7023     * @throws { BusinessError } 14800011 - Database corrupted.
7024     * @throws { BusinessError } 14800014 - Already closed.
7025     * @throws { BusinessError } 14800015 - The database does not respond.
7026     * @throws { BusinessError } 14800016 - The database is already attached.
7027     * @throws { BusinessError } 14801001 - Only supported in stage mode.
7028     * @throws { BusinessError } 14801002 - The data group id is not valid.
7029     * @throws { BusinessError } 14800021 - SQLite: Generic error.
7030     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
7031     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
7032     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
7033     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
7034     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
7035     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
7036     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
7037     * @throws { BusinessError } 14800029 - SQLite: The database is full.
7038     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
7039     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
7040     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
7041     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
7042     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
7043     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
7044     * @since 12
7045     */
7046    attach(context: Context, config: StoreConfig, attachName: string, waitTime?: number) : Promise<number>;
7047
7048    /**
7049     * Detaches a database from this database.
7050     *
7051     * @param { string } attachName - Indicates the alias of the database.
7052     * @param { number } waitTime - Indicates the maximum time allowed for detaching the database.
7053     * @returns { Promise<number> } Return the current number of attached databases.
7054     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
7055     * <br>2. Incorrect parameter types.
7056     * @throws { BusinessError } 14800000 - Inner error.
7057     * @throws { BusinessError } 14800011 - Database corrupted.
7058     * @throws { BusinessError } 14800014 - Already closed.
7059     * @throws { BusinessError } 14800015 - The database does not respond.
7060     * @throws { BusinessError } 14800021 - SQLite: Generic error.
7061     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
7062     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
7063     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
7064     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
7065     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
7066     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
7067     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
7068     * @throws { BusinessError } 14800029 - SQLite: The database is full.
7069     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
7070     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
7071     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
7072     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
7073     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
7074     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
7075     * @since 12
7076     */
7077    detach(attachName: string, waitTime?: number) : Promise<number>;
7078
7079    /**
7080     * Locks data from the database based on a specified instance object of RdbPredicates.
7081     *
7082     * @param { RdbPredicates } predicates - The specified lock condition by the instance object of {@link RdbPredicates}.
7083     * @returns { Promise<void> } The promise returned by the function.
7084     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
7085     * <br>2. Incorrect parameter types.
7086     * @throws { BusinessError } 14800000 - Inner error.
7087     * @throws { BusinessError } 14800011 - Database corrupted.
7088     * @throws { BusinessError } 14800014 - Already closed.
7089     * @throws { BusinessError } 14800015 - The database does not respond.
7090     * @throws { BusinessError } 14800018 - No data meets the condition.
7091     * @throws { BusinessError } 14800021 - SQLite: Generic error.
7092     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
7093     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
7094     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
7095     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
7096     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
7097     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
7098     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
7099     * @throws { BusinessError } 14800029 - SQLite: The database is full.
7100     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
7101     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
7102     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
7103     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
7104     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
7105     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
7106     * @crossplatform
7107     * @since 12
7108     */
7109    lockRow(predicates: RdbPredicates): Promise<void>;
7110
7111    /**
7112     * Unlocks data from the database based on a specified instance object of RdbPredicates.
7113     *
7114     * @param { RdbPredicates } predicates - The specified Unlock condition by the instance object of {@link RdbPredicates}.
7115     * @returns { Promise<void> } The promise returned by the function.
7116     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
7117     * <br>2. Incorrect parameter types.
7118     * @throws { BusinessError } 14800000 - Inner error.
7119     * @throws { BusinessError } 14800011 - Database corrupted.
7120     * @throws { BusinessError } 14800014 - Already closed.
7121     * @throws { BusinessError } 14800015 - The database does not respond.
7122     * @throws { BusinessError } 14800018 - No data meets the condition.
7123     * @throws { BusinessError } 14800021 - SQLite: Generic error.
7124     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
7125     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
7126     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
7127     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
7128     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
7129     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
7130     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
7131     * @throws { BusinessError } 14800029 - SQLite: The database is full.
7132     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
7133     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
7134     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
7135     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
7136     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
7137     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
7138     * @crossplatform
7139     * @since 12
7140     */
7141    unlockRow(predicates: RdbPredicates): Promise<void>;
7142
7143    /**
7144     * Queries locked data in the database based on specified conditions.
7145     *
7146     * @param { RdbPredicates } predicates - The specified query condition by the instance object of {@link RdbPredicates}.
7147     * @param { Array<string> } columns - The columns to query. If the value is null, the query applies to all columns.
7148     * @returns { Promise<ResultSet> } The {@link ResultSet} object if the operation is successful.
7149     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
7150     * <br>2. Incorrect parameter types.
7151     * @throws { BusinessError } 14800000 - Inner error.
7152     * @throws { BusinessError } 14800011 - Database corrupted.
7153     * @throws { BusinessError } 14800014 - Already closed.
7154     * @throws { BusinessError } 14800015 - The database does not respond.
7155     * @throws { BusinessError } 14800021 - SQLite: Generic error.
7156     * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
7157     * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
7158     * @throws { BusinessError } 14800024 - SQLite: The database file is locked.
7159     * @throws { BusinessError } 14800025 - SQLite: A table in the database is locked.
7160     * @throws { BusinessError } 14800026 - SQLite: The database is out of memory.
7161     * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
7162     * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
7163     * @throws { BusinessError } 14800029 - SQLite: The database is full.
7164     * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
7165     * @throws { BusinessError } 14800031 - SQLite: TEXT or BLOB exceeds size limit.
7166     * @throws { BusinessError } 14800032 - SQLite: Abort due to constraint violation.
7167     * @throws { BusinessError } 14800033 - SQLite: Data type mismatch.
7168     * @throws { BusinessError } 14800034 - SQLite: Library used incorrectly.
7169     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
7170     * @crossplatform
7171     * @since 12
7172     */
7173    queryLockedRow(predicates: RdbPredicates, columns?: Array<string>): Promise<ResultSet>;
7174
7175    /**
7176     * Lock cloud container before non-auto cloud sync.
7177     *
7178     * @returns { Promise<number> } The expired time of the lock.
7179     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
7180     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
7181     * @systemapi
7182     * @since 12
7183     */
7184    lockCloudContainer(): Promise<number>;
7185
7186    /**
7187     * Unlock cloud container.
7188     *
7189     * @returns { Promise<void> } The promise returned by the function.
7190     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
7191     * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
7192     * @systemapi
7193     * @since 12
7194     */
7195    unlockCloudContainer(): Promise<void>;
7196  }
7197
7198  /**
7199   * Obtains a RDB store.
7200   * You can set parameters of the RDB store as required. In general, this method is recommended
7201   * to obtain a rdb store.
7202   *
7203   * @param { Context } context - Indicates the context of an application or ability.
7204   * @param { StoreConfig } config - Indicates the {@link StoreConfig} configuration of the database related to this RDB store.
7205   * @param { AsyncCallback<RdbStore> } callback - The RDB store {@link RdbStore}.
7206   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
7207   * <br>2. Incorrect parameter types.
7208   * @throws { BusinessError } 14800000 - Inner error.
7209   * @throws { BusinessError } 14800010 - Failed to open or delete database by invalid database path.
7210   * @throws { BusinessError } 14800011 - Failed to open database by database corrupted.
7211   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
7212   * @since 9
7213   */
7214  /**
7215   * Obtains a RDB store.
7216   * You can set parameters of the RDB store as required. In general, this method is recommended
7217   * to obtain a rdb store.
7218   *
7219   * @param { Context } context - Indicates the context of an application or ability.
7220   * @param { StoreConfig } config - Indicates the {@link StoreConfig} configuration of the database related to this RDB store.
7221   * @param { AsyncCallback<RdbStore> } callback - The RDB store {@link RdbStore}.
7222   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
7223   * <br>2. Incorrect parameter types.
7224   * @throws { BusinessError } 14800000 - Inner error.
7225   * @throws { BusinessError } 14800010 - Failed to open or delete database by invalid database path.
7226   * @throws { BusinessError } 14800011 - Failed to open database by database corrupted.
7227   * @throws { BusinessError } 14801001 - Only supported in stage mode.
7228   * @throws { BusinessError } 14801002 - The data group id is not valid.
7229   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
7230   * @crossplatform
7231   * @since 10
7232   */
7233  /**
7234   * Obtains a RDB store.
7235   * You can set parameters of the RDB store as required. In general, this method is recommended
7236   * to obtain a rdb store.
7237   *
7238   * @param { Context } context - Indicates the context of an application or ability.
7239   * @param { StoreConfig } config - Indicates the {@link StoreConfig} configuration of the database related to this RDB store.
7240   * @param { AsyncCallback<RdbStore> } callback - The RDB store {@link RdbStore}.
7241   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
7242   * <br>2. Incorrect parameter types.
7243   * @throws { BusinessError } 14800000 - Inner error.
7244   * @throws { BusinessError } 14800010 - Invalid database path.
7245   * @throws { BusinessError } 14800011 - Database corrupted.
7246   * @throws { BusinessError } 14801001 - Only supported in stage mode.
7247   * @throws { BusinessError } 14801002 - The data group id is not valid.
7248   * @throws { BusinessError } 14800017 - Config changed.
7249   * @throws { BusinessError } 14800021 - SQLite: Generic error.
7250   * @throws { BusinessError } 14800022 - SQLite: Callback routine requested an abort.
7251   * @throws { BusinessError } 14800023 - SQLite: Access permission denied.
7252   * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
7253   * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
7254   * @throws { BusinessError } 14800029 - SQLite: The database is full.
7255   * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
7256   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
7257   * @crossplatform
7258   * @since 12
7259   */
7260  function getRdbStore(context: Context, config: StoreConfig, callback: AsyncCallback<RdbStore>): void;
7261
7262  /**
7263   * Obtains a RDB store.
7264   * You can set parameters of the RDB store as required. In general, this method is recommended
7265   * to obtain a rdb store.
7266   *
7267   * @param { Context } context - Indicates the context of an application or ability.
7268   * @param { StoreConfig } config - Indicates the {@link StoreConfig} configuration of the database related to this RDB store.
7269   * @returns { Promise<RdbStore> } The RDB store {@link RdbStore}.
7270   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
7271   * <br>2. Incorrect parameter types.
7272   * @throws { BusinessError } 14800000 - Inner error.
7273   * @throws { BusinessError } 14800010 - Failed to open or delete database by invalid database path.
7274   * @throws { BusinessError } 14800011 - Failed to open database by database corrupted.
7275   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
7276   * @since 9
7277   */
7278  /**
7279   * Obtains a RDB store.
7280   * You can set parameters of the RDB store as required. In general, this method is recommended
7281   * to obtain a rdb store.
7282   *
7283   * @param { Context } context - Indicates the context of an application or ability.
7284   * @param { StoreConfig } config - Indicates the {@link StoreConfig} configuration of the database related to this RDB store.
7285   * @returns { Promise<RdbStore> } The RDB store {@link RdbStore}.
7286   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
7287   * <br>2. Incorrect parameter types.
7288   * @throws { BusinessError } 14800000 - Inner error.
7289   * @throws { BusinessError } 14800010 - Failed to open or delete database by invalid database path.
7290   * @throws { BusinessError } 14800011 - Failed to open database by database corrupted.
7291   * @throws { BusinessError } 14801001 - Only supported in stage mode.
7292   * @throws { BusinessError } 14801002 - The data group id is not valid.
7293   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
7294   * @crossplatform
7295   * @since 10
7296   */
7297  /**
7298   * Obtains a RDB store.
7299   * You can set parameters of the RDB store as required. In general, this method is recommended
7300   * to obtain a rdb store.
7301   *
7302   * @param { Context } context - Indicates the context of an application or ability.
7303   * @param { StoreConfig } config - Indicates the {@link StoreConfig} configuration of the database related to this RDB store.
7304   * @returns { Promise<RdbStore> } The RDB store {@link RdbStore}.
7305   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
7306   * <br>2. Incorrect parameter types.
7307   * @throws { BusinessError } 14800000 - Inner error.
7308   * @throws { BusinessError } 14800010 - Invalid database path.
7309   * @throws { BusinessError } 14800011 - Database corrupted.
7310   * @throws { BusinessError } 14801001 - Only supported in stage mode.
7311   * @throws { BusinessError } 14801002 - The data group id is not valid.
7312   * @throws { BusinessError } 14800017 - Config changed.
7313   * @throws { BusinessError } 14800021 - SQLite: Generic error.
7314   * @throws { BusinessError } 14800027 - SQLite: Attempt to write a readonly database.
7315   * @throws { BusinessError } 14800028 - SQLite: Some kind of disk I/O error occurred.
7316   * @throws { BusinessError } 14800029 - SQLite: The database is full.
7317   * @throws { BusinessError } 14800030 - SQLite: Unable to open the database file.
7318   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
7319   * @crossplatform
7320   * @since 12
7321   */
7322  function getRdbStore(context: Context, config: StoreConfig): Promise<RdbStore>;
7323
7324  /**
7325   * Deletes the database with a specified name.
7326   * When specify custom directory, this function should not be called.
7327   *
7328   * @param { Context } context - Indicates the context of application or capability.
7329   * @param { string } name - Indicates the database name.
7330   * @param { AsyncCallback<void> } callback - The callback of deleteRdbStore.
7331   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
7332   * <br>2. Incorrect parameter types.
7333   * @throws { BusinessError } 14800000 - Inner error.
7334   * @throws { BusinessError } 14800010 - Failed to open or delete database by invalid database path.
7335   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
7336   * @since 9
7337   */
7338  /**
7339   * Deletes the database with a specified name.
7340   * When specify custom directory, this function should not be called.
7341   *
7342   * @param { Context } context - Indicates the context of application or capability.
7343   * @param { string } name - Indicates the database name.
7344   * @param { AsyncCallback<void> } callback - The callback of deleteRdbStore.
7345   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
7346   * <br>2. Incorrect parameter types.
7347   * @throws { BusinessError } 14800000 - Inner error.
7348   * @throws { BusinessError } 14800010 - Failed to open or delete database by invalid database path.
7349   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
7350   * @crossplatform
7351   * @since 10
7352   */
7353  function deleteRdbStore(context: Context, name: string, callback: AsyncCallback<void>): void;
7354
7355  /**
7356   * Deletes the database with a specified store config.
7357   * When specify custom directory, this function should be called.
7358   *
7359   * @param { Context } context - Indicates the context of an application or ability.
7360   * @param { StoreConfig } config - Indicates the {@link StoreConfig} configuration of the database related to this RDB store.
7361   * @param { AsyncCallback<void> } callback - The callback of deleteRdbStore.
7362   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
7363   * <br>2. Incorrect parameter types.
7364   * @throws { BusinessError } 14800000 - Inner error.
7365   * @throws { BusinessError } 14800010 - Failed to open or delete database by invalid database path.
7366   * @throws { BusinessError } 14801001 - Only supported in stage mode.
7367   * @throws { BusinessError } 14801002 - The data group id is not valid.
7368   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
7369   * @crossplatform
7370   * @since 10
7371   */
7372  function deleteRdbStore(context: Context, config: StoreConfig, callback: AsyncCallback<void>): void;
7373
7374  /**
7375   * Deletes the database with a specified name.
7376   * When specify custom directory, this function should not be called.
7377   *
7378   * @param { Context } context - Indicates the context of application or capability.
7379   * @param { string } name - Indicates the database name.
7380   * @returns { Promise<void> } The promise returned by the function.
7381   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
7382   * <br>2. Incorrect parameter types.
7383   * @throws { BusinessError } 14800000 - Inner error.
7384   * @throws { BusinessError } 14800010 - Failed to open or delete database by invalid database path.
7385   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
7386   * @since 9
7387   */
7388  /**
7389   * Deletes the database with a specified name.
7390   * When specify custom directory, this function should not be called.
7391   *
7392   * @param { Context } context - Indicates the context of application or capability.
7393   * @param { string } name - Indicates the database name.
7394   * @returns { Promise<void> } The promise returned by the function.
7395   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
7396   * <br>2. Incorrect parameter types.
7397   * @throws { BusinessError } 14800000 - Inner error.
7398   * @throws { BusinessError } 14800010 - Failed to open or delete database by invalid database path.
7399   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
7400   * @crossplatform
7401   * @since 10
7402   */
7403  /**
7404   * Deletes the database with a specified name.
7405   * When specify custom directory, this function should not be called.
7406   *
7407   * @param { Context } context - Indicates the context of application or capability.
7408   * @param { string } name - Indicates the database name.
7409   * @returns { Promise<void> } The promise returned by the function.
7410   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
7411   * <br>2. Incorrect parameter types.
7412   * @throws { BusinessError } 14800000 - Inner error.
7413   * @throws { BusinessError } 14800010 - Invalid database path.
7414   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
7415   * @crossplatform
7416   * @since 12
7417   */
7418  function deleteRdbStore(context: Context, name: string): Promise<void>;
7419
7420  /**
7421   * Deletes the database with a specified store config.
7422   * When specify custom directory, this function should be called.
7423   *
7424   * @param { Context } context - Indicates the context of an application or ability.
7425   * @param { StoreConfig } config - Indicates the {@link StoreConfig} configuration of the database related to this RDB store.
7426   * @returns { Promise<void> } The promise returned by the function.
7427   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
7428   * <br>2. Incorrect parameter types.
7429   * @throws { BusinessError } 14800000 - Inner error.
7430   * @throws { BusinessError } 14800010 - Failed to open or delete database by invalid database path.
7431   * @throws { BusinessError } 14801001 - Only supported in stage mode.
7432   * @throws { BusinessError } 14801002 - The data group id is not valid.
7433   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
7434   * @crossplatform
7435   * @since 10
7436   */
7437  /**
7438   * Deletes the database with a specified store config.
7439   * When specify custom directory, this function should be called.
7440   *
7441   * @param { Context } context - Indicates the context of an application or ability.
7442   * @param { StoreConfig } config - Indicates the {@link StoreConfig} configuration of the database related to this RDB store.
7443   * @returns { Promise<void> } The promise returned by the function.
7444   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
7445   * <br>2. Incorrect parameter types.
7446   * @throws { BusinessError } 801 - Capability not supported.
7447   * @throws { BusinessError } 14800000 - Inner error.
7448   * @throws { BusinessError } 14800010 - Invalid database path.
7449   * @throws { BusinessError } 14801001 - Only supported in stage mode.
7450   * @throws { BusinessError } 14801002 - The data group id is not valid.
7451   * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core
7452   * @crossplatform
7453   * @since 12
7454   */
7455  function deleteRdbStore(context: Context, config: StoreConfig): Promise<void>;
7456}
7457
7458export default relationalStore;
7459