import { Disklet } from 'disklet'; import { Memlet } from 'memlet'; import { DataDump, RangeBaseConfig, RangeBaseOptions } from './types'; export declare type RangeRecord = { [key in RangeKey]: number; } & { [key in IdKey]: string; } & K; export interface RangeBase, RangeKey extends string, IdKey extends string> { rangeKey: RangeKey; idKey: IdKey; databaseName: string; insert: (partition: string, data: RangeRecord) => Promise; query: (partition: string, rangeStart: number, rangeEnd?: number) => Promise>>; queryById: (partition: string, range: number, id: string) => Promise>; queryByCount: (partition: string, count: number, offset: number) => Promise>>; delete: (partition: string, range: number, id: string) => Promise>; update: (partition: string, oldRange: number, newData: RangeRecord) => Promise; min: (partition: string) => number; max: (partition: string) => number; size: (partition: string) => number; dumpData: () => Promise>, DataDumpDataset>>; } interface DataDumpDataset { [partition: string]: Array>; } export declare function openRangeBase, RangeKey extends string, IdKey extends string>(storage: Disklet | Memlet, databaseName: string): Promise>; export declare function createRangeBase, RangeKey extends string, IdKey extends string>(storage: Disklet | Memlet, options: RangeBaseOptions): Promise>; export declare function createOrOpenRangeBase, RangeKey extends string, IdKey extends string>(storage: Disklet | Memlet, options: RangeBaseOptions): Promise>; export {};