import { FullSindexEntry, SimpleTxEntryForWallet, SimpleTxInput, SindexEntry } from "../../../indexer"; import { LevelUp } from "levelup"; import { LevelDBTable } from "./LevelDBTable"; import { SIndexDAO } from "../abstract/SIndexDAO"; export declare class LevelDBSindex extends LevelDBTable implements SIndexDAO { protected getLevelDB: (dbName: string) => Promise; private indexForTrimming; private indexForConsumed; private indexForConditions; constructor(getLevelDB: (dbName: string) => Promise); /** * TECHNICAL */ init(): Promise; close(): Promise; /** * INSERT */ insert(record: SindexEntry): Promise; insertBatch(records: SindexEntry[]): Promise; findByIdentifier(identifier: string): Promise; findByIdentifierAndPos(identifier: string, pos: number): Promise; findByPos(pos: number): Promise; findTxSourceByIdentifierPosAmountBase(identifier: string, pos: number, amount: number, base: number): Promise; getAvailableForConditions(conditionsStr: string): Promise; getAvailableForPubkey(pubkey: string): Promise<{ amount: number; base: number; conditions: string; identifier: string; pos: number; }[]>; getTxSource(identifier: string, pos: number): Promise; getWrittenOnTxs(blockstamp: string): Promise; trimConsumedSource(belowNumber: number): Promise; /** * Reduceable DAO */ trimRecords(belowNumber: number): Promise; /** * Generic DAO */ findRawWithOrder(criterion: { pub?: string; }, sort: (string | (string | boolean)[])[]): Promise; getWrittenOn(blockstamp: string): Promise; getForConditions(conditions: string): Promise; removeBlock(blockstamp: string): Promise; private trimConditions; /** * Duplicate with trimConditions?! * @param writtenOn * @param id */ private trimWrittenOn; private trimConsumed; private getWrittenOnSourceIds; private static trimKey; private static trimWrittenOnKey; private static trimPartialKey; static upperIdentifier(identifier: string): string; private indexRecords; }