import { CindexEntry, FullCindexEntry } from "../../../indexer"; import { LevelUp } from "levelup"; import { LevelDBTable } from "./LevelDBTable"; import { CIndexDAO } from "../abstract/CIndexDAO"; import { AbstractIteratorOptions } from "abstract-leveldown"; export interface LevelDBCindexEntry { received: string[]; issued: CindexEntry[]; } export declare class LevelDBCindex extends LevelDBTable implements CIndexDAO { protected getLevelDB: (dbName: string) => Promise; private indexForExpiresOn; private indexForWrittenOn; constructor(getLevelDB: (dbName: string) => Promise); /** * TECHNICAL */ init(): Promise; close(): Promise; /** * INSERT */ insert(record: CindexEntry): Promise; insertBatch(records: CindexEntry[]): Promise; /** * Reduceable DAO */ trimRecords(belowNumber: number): Promise; /** * Generic DAO */ findRawWithOrder(criterion: { pub?: string; }, sort: (string | (string | boolean)[])[]): Promise; getWrittenOn(blockstamp: string): Promise; removeBlock(blockstamp: string): Promise; private static trimExpiredOnKey; private static trimWrittenOnKey; private static trimFullKey; private static trimDumpSortKey; private indexRecords; existsNonReplayableLink(issuer: string, receiver: string, medianTime: number, version: number): Promise; findByIssuer(issuer: string): Promise; findByIssuerAndChainableOnGt(issuer: string, medianTime: number): Promise; findByIssuerAndReceiver(issuer: string, receiver: string): Promise; findByReceiverAndExpiredOn(pub: string, expired_on: number): Promise; findExpiresOnLteNotExpiredYet(medianTime: number): Promise; getReceiversAbove(minsig: number): Promise; getValidLinksFrom(issuer: string): Promise; getValidLinksTo(receiver: string): Promise; reducablesFrom(from: string): Promise; trimExpiredCerts(belowNumber: number): Promise; count(options?: AbstractIteratorOptions): Promise; }