import { ECPoint, PrivateKey } from '@neo-one/client-common'; import { Blockchain, ConsensusMessage, Node, Transaction } from '@neo-one/node-core'; import { ConsensusContext } from './ConsensusContext'; import { BlockSentContext, Context, HeaderContext, InitialContext, RequestReceivedContext, SignatureSentContext, ViewChangingContext } from './context'; import { Result } from './types'; export declare const signAndRelay: ({ node, privateKey, context, consensusMessage, }: { readonly node: Node; readonly privateKey: PrivateKey; readonly context: Context>; readonly consensusMessage: ConsensusMessage; }) => void; export declare const getInitialContextAdd: ({ blockchain, publicKey, validators, blockReceivedTimeSeconds, }: { readonly blockchain: Blockchain; readonly publicKey: ECPoint; readonly validators: readonly ECPoint[]; readonly blockReceivedTimeSeconds?: number | undefined; }) => { type: string; previousHash: import("@neo-one/client-common").UInt256; blockIndex: number; viewNumber: number; myIndex: number; primaryIndex: number; expectedView: number[]; validators: readonly ECPoint[]; blockReceivedTimeSeconds: number | undefined; }; export declare const initializeNewConsensus: ({ blockchain, publicKey, consensusContext, }: { readonly blockchain: Blockchain; readonly publicKey: ECPoint; readonly consensusContext: ConsensusContext; }) => Promise>; export declare const initializeConsensus: ({ node, context: contextIn, viewNumber, consensusContext, }: { readonly node: Node; readonly context: Context>; readonly viewNumber: number; readonly consensusContext: ConsensusContext; }) => Result; export declare function checkSignatures({ node, context, }: { readonly node: Node; readonly context: TContext; }): Promise>; export declare const signAndRelayChangeView: ({ node, privateKey, context, }: { readonly node: Node; readonly privateKey: PrivateKey; readonly context: Context>; }) => void; export declare const checkExpectedView: ({ context, viewNumber, }: { readonly context: Context>; readonly viewNumber: number; }) => boolean; export declare const initializeConsensusInitial: ({ blockchain, context, viewNumber, consensusContext, }: { readonly blockchain: Blockchain; readonly context: Context>; readonly viewNumber: number; readonly consensusContext: ConsensusContext; }) => Result; export declare const incrementExpectedView: (context: Context>) => readonly number[]; export declare const addTransaction: ({ context: contextIn, node, privateKey, transaction, verify, consensusContext, }: { readonly context: RequestReceivedContext; readonly node: Node; readonly privateKey: PrivateKey; readonly transaction: Transaction; readonly verify: boolean; readonly consensusContext: ConsensusContext; }) => Promise>;