import { ChaintracksStorageBaseOptions, InsertHeaderResult } from '../Api/ChaintracksStorageApi';
import { ChaintracksStorageBase } from '../Storage/ChaintracksStorageBase';
import { LiveBlockHeader } from '../Api/BlockHeaderApi';
import { HeightRange } from '../util/HeightRange';
import { Chain } from '../../../../sdk/types';
import { BlockHeader } from '../../../../sdk/WalletServices.interfaces';
interface ChaintracksNoDbData {
    chain: Chain;
    liveHeaders: Map<number, LiveBlockHeader>;
    maxHeaderId: number;
    tipHeaderId: number;
    hashToHeaderId: Map<string, number>;
}
export interface ChaintracksStorageNoDbOptions extends ChaintracksStorageBaseOptions {
}
export declare class ChaintracksStorageNoDb extends ChaintracksStorageBase {
    static mainData: ChaintracksNoDbData;
    static testData: ChaintracksNoDbData;
    constructor(options: ChaintracksStorageNoDbOptions);
    destroy(): Promise<void>;
    getData(): Promise<ChaintracksNoDbData>;
    deleteLiveBlockHeaders(): Promise<void>;
    deleteOlderLiveBlockHeaders(maxHeight: number): Promise<number>;
    findChainTipHeader(): Promise<LiveBlockHeader>;
    findChainTipHeaderOrUndefined(): Promise<LiveBlockHeader | undefined>;
    findLiveHeaderForBlockHash(hash: string): Promise<LiveBlockHeader | null>;
    findLiveHeaderForHeaderId(headerId: number): Promise<LiveBlockHeader>;
    findLiveHeaderForHeight(height: number): Promise<LiveBlockHeader | null>;
    findLiveHeaderForMerkleRoot(merkleRoot: string): Promise<LiveBlockHeader | null>;
    findLiveHeightRange(): Promise<HeightRange>;
    findMaxHeaderId(): Promise<number>;
    liveHeadersForBulk(count: number): Promise<LiveBlockHeader[]>;
    getLiveHeaders(range: HeightRange): Promise<LiveBlockHeader[]>;
    insertHeader(header: BlockHeader): Promise<InsertHeaderResult>;
}
export {};
//# sourceMappingURL=ChaintracksStorageNoDb.d.ts.map