import { Dictionary, DeepPartial } from 'ts-essentials'; import { BlockExtractor, BlockTransformer, Processor } from './processors/types'; import { Services } from './types'; export interface SpockConfig { startingBlock: number; lastBlock?: number; extractors: BlockExtractor[]; transformers: BlockTransformer[]; migrations: Dictionary; onStart?: (services: Services) => Promise; processDbLock: number; blockGenerator: { batch: number; }; extractorWorker: { batch: number; reorgBuffer: number; }; transformerWorker: { batch: number; }; processorsWorker: { retriesOnErrors: number; }; statsWorker: { enabled: boolean; interval: number; }; chain: { host: string; name: string; retries: number; alternativeHosts?: string[]; }; db: { database: string; user: string; password: string; host: string; port: number; [any: string]: any; }; sentry?: { dsn: string; environment: string; }; } export declare type UserProvidedSpockConfig = DeepPartial & Pick & Dictionary; export declare const getDefaultConfig: (env: Dictionary) => { processDbLock: number; blockGenerator: { batch: number; }; extractorWorker: { batch: number; reorgBuffer: number; }; transformerWorker: { batch: number; }; processorsWorker: { retriesOnErrors: number; }; statsWorker: { enabled: boolean; interval: number; }; chain: { host: string; name: string; retries: number; }; db: { database: string; user: string; password: string; host: string; port: number; }; }; export declare function isProd(): boolean; export declare function getAllProcessors(config: SpockConfig): Processor[];