import { Context, Effect, Stream } from 'effect'; import * as SubmissionEvent from './SubmissionEvent.js'; import * as NodeClientError from './NodeClientError.js'; import { type SerializedTransaction } from '@midnight-ntwrk/wallet-sdk-abstractions'; export type Genesis = { readonly transactions: readonly SerializedTransaction.SerializedTransaction[]; }; export interface Service { sendMidnightTransaction(serializedTransaction: SerializedTransaction.SerializedTransaction): Stream.Stream; getGenesis(): Effect.Effect; } declare const NodeClient_base: Context.TagClass; export declare class NodeClient extends NodeClient_base { } export declare const getGenesisTransactions: () => Effect.Effect; export declare const sendMidnightTransaction: (serializedTransaction: SerializedTransaction.SerializedTransaction) => Stream.Stream; export declare function sendMidnightTransactionAndWait(serializedTransaction: SerializedTransaction.SerializedTransaction, waitFor: SubmissionEvent.Cases.Submitted['_tag']): Effect.Effect; export declare function sendMidnightTransactionAndWait(serializedTransaction: SerializedTransaction.SerializedTransaction, waitFor: SubmissionEvent.Cases.InBlock['_tag']): Effect.Effect; export declare function sendMidnightTransactionAndWait(serializedTransaction: SerializedTransaction.SerializedTransaction, waitFor: SubmissionEvent.Cases.Finalized['_tag']): Effect.Effect; export declare function sendMidnightTransactionAndWait(serializedTransaction: SerializedTransaction.SerializedTransaction, waitFor: SubmissionEvent.SubmissionEvent['_tag']): Effect.Effect; export {};