import '../gen/augment-api.js'; import { ApiPromise } from '@polkadot/api'; import { Duration, Effect, Layer, type Scope, Stream } from 'effect'; import * as NodeClient from './NodeClient.js'; import * as SubmissionEvent from './SubmissionEvent.js'; import * as NodeClientError from './NodeClientError.js'; import { SerializedTransaction } from '@midnight-ntwrk/wallet-sdk-abstractions'; export type Config = { nodeURL: URL; reconnectionTimeout: Duration.Duration; reconnectionDelay: Duration.Duration; }; export declare const DEFAULT_CONFIG: { reconnectionTimeout: Duration.Duration; reconnectionDelay: Duration.Duration; }; export declare const makeConfig: (input: Partial & Pick) => Config; export declare class PolkadotNodeClient implements NodeClient.Service { #private; static make(configInput: Partial & Pick): Effect.Effect; static layer(configInput: Partial & Pick): Layer.Layer; readonly config: Config; readonly api: ApiPromise; constructor(config: Config, api: ApiPromise); ensureConnection(): Effect.Effect; sendMidnightTransaction(serializedTransaction: SerializedTransaction.SerializedTransaction): Stream.Stream; getGenesis(): Effect.Effect<{ readonly transactions: readonly SerializedTransaction.SerializedTransaction[]; }, NodeClientError.NodeClientError>; }