import type { Class } from '@tanker/types'; export type TableSchema = { name: string; primaryKey?: { name: string; autoIncrement: boolean; }; indexes?: Array>; persistent?: boolean; deleted?: boolean; }; export type Schema = { version: number; tables: Array; }; export type BaseConfig = { dbName: string; url?: string; schemas: Array; defaultVersion: number; }; export type SortParams = Array>; export interface DataStore { readonly className: string; bulkAdd(table: string, records: Array> | Record, ...otherRecords: Array>): Promise; bulkPut(table: string, records: Array> | Record, ...otherRecords: Array>): Promise; bulkDelete(table: string, records: Array> | Record, ...otherRecords: Array>): Promise; clear(table: string): Promise; close(): Promise; defineSchemas(schemas: Array): Promise; destroy(): Promise; find(table: string, query?: { selector?: Record; sort?: SortParams; limit?: number; }): Promise>>; first(table: string, query?: { selector?: Record; sort?: SortParams; }): Promise>; get(table: string, id: string): Promise>; getAll(table: string): Promise>>; add(table: string, record: Record): Promise; put(table: string, record: Record): Promise; delete(table: string, id: string): Promise; version(): number; } export type DataStoreAdapter = Class & { open(config: BaseConfig): Promise; }; //# sourceMappingURL=types.d.ts.map