import { BulkStorageApi, BulkStorageBaseOptions } from '../Api/BulkStorageApi';
import { ChaintracksStorageBase } from './ChaintracksStorageBase';
import { HeightRange } from '../util/HeightRange';
import { Chain } from '../../../../sdk/types';
import { BlockHeader } from '../Api/BlockHeaderApi';
import { ChaintracksFsApi } from '../Api/ChaintracksFsApi';
export declare abstract class BulkStorageBase implements BulkStorageApi {
    static createBulkStorageBaseOptions(chain: Chain, fs: ChaintracksFsApi): BulkStorageBaseOptions;
    chain: Chain;
    fs: ChaintracksFsApi;
    log: (...args: any[]) => void;
    constructor(options: BulkStorageBaseOptions);
    shutdown(): Promise<void>;
    abstract appendHeaders(minHeight: number, count: number, newBulkHeaders: Uint8Array): Promise<void>;
    abstract getMaxHeight(): Promise<number>;
    abstract headersToBuffer(height: number, count: number): Promise<Uint8Array>;
    abstract findHeaderForHeightOrUndefined(height: number): Promise<BlockHeader | undefined>;
    findHeaderForHeight(height: number): Promise<BlockHeader>;
    getHeightRange(): Promise<HeightRange>;
    setStorage(storage: ChaintracksStorageBase, log: (...args: any[]) => void): Promise<void>;
    exportBulkHeaders(rootFolder: string, jsonFilename: string, maxPerFile: number): Promise<void>;
}
//# sourceMappingURL=BulkStorageBase.d.ts.map