import { BaseTornadoService, BaseMultiTornadoService, BaseEncryptedNotesService, BaseGovernanceService, BaseRegistryService, BaseTornadoServiceConstructor, BaseMultiTornadoServiceConstructor, BaseEncryptedNotesServiceConstructor, BaseGovernanceServiceConstructor, BaseRegistryServiceConstructor, BaseEchoServiceConstructor, BaseEchoService, CachedRelayers, BatchEventsService, BaseEvents, DepositsEvents, WithdrawalsEvents, MultiDepositsEvents, MultiWithdrawalsEvents, EncryptedNotesEvents, AllGovernanceEvents, EchoEvents, BatchEventServiceConstructor, BatchEventOnProgress, NetIdType, AllRelayerRegistryEvents, BaseRevenueService, BaseRevenueServiceConstructor, StakeBurnedEvents, BatchBlockOnProgress, BatchBlockServiceConstructor, BatchBlockService, BatchTransactionService } from '@tornado/core'; import type { Logger } from 'winston'; import { TreeCache } from './treeCache'; export interface NodeEventsConstructor extends BatchEventServiceConstructor { netId: NetIdType; logger: Logger; getInstanceName: () => string; } export declare class NodeEventsService extends BatchEventsService { netId: NetIdType; logger: Logger; getInstanceName: () => string; constructor(serviceConstructor: NodeEventsConstructor); } export interface NodeBlocksConstructor extends BatchBlockServiceConstructor { netId: NetIdType; logger: Logger; getInstanceName: () => string; } export declare class NodeBlocksService extends BatchBlockService { netId: NetIdType; logger: Logger; getInstanceName: () => string; constructor(serviceConstructor: NodeBlocksConstructor); } export declare class NodeTransactionsService extends BatchTransactionService { netId: NetIdType; logger: Logger; getInstanceName: () => string; constructor(serviceConstructor: NodeBlocksConstructor); } export interface NodeTornadoServiceConstructor extends BaseTornadoServiceConstructor { cacheDirectory: string; userDirectory: string; nativeCurrency: string; logger: Logger; treeCache?: TreeCache; } export declare class NodeTornadoService extends BaseTornadoService { cacheDirectory: string; userDirectory: string; nativeCurrency: string; logger: Logger; treeCache?: TreeCache; constructor(serviceConstructor: NodeTornadoServiceConstructor); updateEventProgress({ fromBlock, toBlock, count }: Parameters[0]): void; updateTransactionProgress({ currentIndex, totalIndex }: Parameters[0]): void; updateBlockProgress({ currentIndex, totalIndex }: Parameters[0]): void; getEventsFromDB(): Promise>; getEventsFromCache(): Promise>; validateEvents({ events, newEvents, lastBlock, }: BaseEvents & { newEvents: (DepositsEvents | WithdrawalsEvents)[]; }): Promise; saveEvents({ events, lastBlock }: BaseEvents): Promise; updateEvents(): Promise<{ events: (DepositsEvents | WithdrawalsEvents)[]; lastBlock: number; validateResult: Awaited; }>; } export interface NodeMultiTornadoServiceConstructor extends BaseMultiTornadoServiceConstructor { cacheDirectory: string; userDirectory: string; nativeCurrency: string; logger: Logger; treeCache?: TreeCache; } export declare class NodeMultiTornadoService extends BaseMultiTornadoService { cacheDirectory: string; userDirectory: string; nativeCurrency: string; logger: Logger; treeCache?: TreeCache; constructor(serviceConstructor: NodeMultiTornadoServiceConstructor); updateEventProgress({ fromBlock, toBlock, count }: Parameters[0]): void; updateTransactionProgress({ currentIndex, totalIndex }: Parameters[0]): void; updateBlockProgress({ currentIndex, totalIndex }: Parameters[0]): void; getEventsFromDB(): Promise>; getEventsFromCache(): Promise>; validateEvents({ events, newEvents, lastBlock, }: BaseEvents & { newEvents: (MultiDepositsEvents | MultiWithdrawalsEvents)[]; }): Promise; saveEvents({ events, newEvents, lastBlock, }: BaseEvents & { newEvents: (MultiDepositsEvents | MultiWithdrawalsEvents)[]; }): Promise; updateEvents(): Promise<{ events: (MultiDepositsEvents | MultiWithdrawalsEvents)[]; lastBlock: number; validateResult: Awaited; }>; } export interface NodeEchoServiceConstructor extends BaseEchoServiceConstructor { cacheDirectory: string; userDirectory: string; logger: Logger; } export declare class NodeEchoService extends BaseEchoService { cacheDirectory: string; userDirectory: string; logger: Logger; constructor(serviceConstructor: NodeEchoServiceConstructor); updateEventProgress({ fromBlock, toBlock, count }: Parameters[0]): void; getEventsFromDB(): Promise>; getEventsFromCache(): Promise>; saveEvents({ events, lastBlock }: BaseEvents): Promise; updateEvents(): Promise<{ events: EchoEvents[]; lastBlock: number; validateResult: Awaited; }>; } export interface NodeEncryptedNotesServiceConstructor extends BaseEncryptedNotesServiceConstructor { cacheDirectory: string; userDirectory: string; logger: Logger; } export declare class NodeEncryptedNotesService extends BaseEncryptedNotesService { cacheDirectory: string; userDirectory: string; logger: Logger; constructor(serviceConstructor: NodeEncryptedNotesServiceConstructor); updateEventProgress({ fromBlock, toBlock, count }: Parameters[0]): void; getEventsFromDB(): Promise>; getEventsFromCache(): Promise>; saveEvents({ events, lastBlock }: BaseEvents): Promise; updateEvents(): Promise<{ events: EncryptedNotesEvents[]; lastBlock: number; validateResult: Awaited; }>; } export interface NodeGovernanceServiceConstructor extends BaseGovernanceServiceConstructor { cacheDirectory: string; userDirectory: string; logger: Logger; } export declare class NodeGovernanceService extends BaseGovernanceService { cacheDirectory: string; userDirectory: string; logger: Logger; constructor(serviceConstructor: NodeGovernanceServiceConstructor); updateEventProgress({ fromBlock, toBlock, count }: Parameters[0]): void; updateTransactionProgress({ currentIndex, totalIndex }: Parameters[0]): void; getEventsFromDB(): Promise>; getEventsFromCache(): Promise>; saveEvents({ events, lastBlock }: BaseEvents): Promise; updateEvents(): Promise<{ events: AllGovernanceEvents[]; lastBlock: number; validateResult: Awaited; }>; } export interface NodeRegistryServiceConstructor extends BaseRegistryServiceConstructor { cacheDirectory: string; userDirectory: string; logger: Logger; } export declare class NodeRegistryService extends BaseRegistryService { cacheDirectory: string; userDirectory: string; logger: Logger; constructor(serviceConstructor: NodeRegistryServiceConstructor); updateEventProgress({ fromBlock, toBlock, count }: Parameters[0]): void; getEventsFromDB(): Promise>; getEventsFromCache(): Promise>; saveEvents({ events, lastBlock }: BaseEvents): Promise; updateEvents(): Promise<{ events: AllRelayerRegistryEvents[]; lastBlock: number; validateResult: Awaited; }>; getRelayersFromDB(): Promise; getRelayersFromCache(): Promise; saveRelayers({ lastBlock, timestamp, relayers }: CachedRelayers): Promise; } export interface NodeRevenueServiceConstructor extends BaseRevenueServiceConstructor { cacheDirectory: string; userDirectory: string; logger: Logger; } export declare class NodeRevenueService extends BaseRevenueService { cacheDirectory: string; userDirectory: string; logger: Logger; constructor(serviceConstructor: NodeRevenueServiceConstructor); updateEventProgress({ fromBlock, toBlock, count }: Parameters[0]): void; updateTransactionProgress({ currentIndex, totalIndex }: Parameters[0]): void; updateBlockProgress({ currentIndex, totalIndex }: Parameters[0]): void; getEventsFromDB(): Promise>; getEventsFromCache(): Promise>; saveEvents({ events, lastBlock }: BaseEvents): Promise; updateEvents(): Promise<{ events: StakeBurnedEvents[]; lastBlock: number; validateResult: Awaited; }>; }