///
///
import { BinaryWriter, SerializableWire, SerializeWire } from '@neo-one/client-common-esnext-esm';
import { Block, ConsensusPayload, DeserializeWireBaseOptions, DeserializeWireContext, DeserializeWireOptions, Transaction } from '@neo-one/node-core-esnext-esm';
import { Transform } from 'stream';
import { Command } from './Command';
import { AddrPayload, FilterAddPayload, FilterLoadPayload, GetBlocksPayload, HeadersPayload, InvPayload, MerkleBlockPayload, VersionPayload } from './payload';
export declare type MessageValue = {
readonly command: Command.addr;
readonly payload: AddrPayload;
} | {
readonly command: Command.block;
readonly payload: Block;
} | {
readonly command: Command.consensus;
readonly payload: ConsensusPayload;
} | {
readonly command: Command.filteradd;
readonly payload: FilterAddPayload;
} | {
readonly command: Command.filterclear;
} | {
readonly command: Command.filterload;
readonly payload: FilterLoadPayload;
} | {
readonly command: Command.getaddr;
} | {
readonly command: Command.getblocks;
readonly payload: GetBlocksPayload;
} | {
readonly command: Command.getdata;
readonly payload: InvPayload;
} | {
readonly command: Command.getheaders;
readonly payload: GetBlocksPayload;
} | {
readonly command: Command.headers;
readonly payload: HeadersPayload;
} | {
readonly command: Command.inv;
readonly payload: InvPayload;
} | {
readonly command: Command.mempool;
} | {
readonly command: Command.tx;
readonly payload: Transaction;
} | {
readonly command: Command.verack;
} | {
readonly command: Command.version;
readonly payload: VersionPayload;
} | {
readonly command: Command.alert;
} | {
readonly command: Command.merkleblock;
readonly payload: MerkleBlockPayload;
} | {
readonly command: Command.notfound;
} | {
readonly command: Command.ping;
} | {
readonly command: Command.pong;
} | {
readonly command: Command.reject;
};
export interface MessageAdd {
readonly magic: number;
readonly value: MessageValue;
}
export declare const COMMAND_LENGTH = 12;
export declare const PAYLOAD_MAX_SIZE = 33554432;
export declare class Message implements SerializableWire {
static deserializeWireBase(options: DeserializeWireBaseOptions): Message;
static deserializeWire(options: DeserializeWireOptions): Message;
readonly magic: number;
readonly value: MessageValue;
readonly serializeWire: SerializeWire;
constructor({ magic, value }: MessageAdd);
serializeWireBase(writer: BinaryWriter): void;
}
export declare const InvalidMessageTransformEncodingError: {
new (message: string): {
readonly name: string;
readonly code: string;
message: string;
stack?: string | undefined;
};
captureStackTrace(targetObject: Object, constructorOpt?: Function | undefined): void;
prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
stackTraceLimit: number;
};
export declare class MessageTransform extends Transform {
readonly context: DeserializeWireContext;
mutableBuffer: Buffer;
constructor(context: DeserializeWireContext);
_transform(chunk: Buffer | string, encoding: string, callback: (error: Error | undefined, data?: Buffer | string) => void): void;
private processBuffer;
}