import { Monitor } from '@neo-one/monitor-esnext-esm'; import { Settings } from '@neo-one/node-core-esnext-esm'; import { BackupRestoreOptions } from '@neo-one/node-data-backup-esnext-esm'; import { RPCServerEnvironment, RPCServerOptions } from '@neo-one/node-http-rpc-esnext-esm'; import { NetworkEnvironment, NetworkOptions } from '@neo-one/node-network-esnext-esm'; import { NodeEnvironment, NodeOptions } from '@neo-one/node-protocol-esnext-esm'; import { AbstractLevelDOWN } from 'abstract-leveldown'; import { LevelDownOpenOptions } from 'leveldown'; import { Observable } from 'rxjs'; interface BackupEnvironment { readonly tmpPath?: string; readonly readyPath?: string; } interface BackupOptions { readonly restore: boolean; readonly backup?: { readonly cronSchedule: string; }; readonly options: BackupRestoreOptions; } interface TelemetryEnvironment { readonly port: number; } export interface Environment { readonly dataPath: string; readonly rpc: RPCServerEnvironment; readonly haltAndBackup?: boolean; readonly levelDownOptions?: LevelDownOpenOptions; readonly node?: NodeEnvironment; readonly network?: NetworkEnvironment; readonly backup?: BackupEnvironment; readonly telemetry?: TelemetryEnvironment; } export interface Options { readonly node?: NodeOptions; readonly network?: NetworkOptions; readonly rpc?: RPCServerOptions; readonly backup?: BackupOptions; } export interface FullNodeOptions { readonly monitor: Monitor; readonly settings: Settings; readonly environment: Environment; readonly options$: Observable; readonly leveldown?: AbstractLevelDOWN; readonly chainFile?: string; readonly dumpChainFile?: string; } export declare const fullNode$: ({ monitor, settings, environment, options$, leveldown: customLeveldown, chainFile, dumpChainFile, }: FullNodeOptions) => Observable; export {};