/// <reference types="node" />
/// <reference types="node" />
import { TransactionPool } from '@liskhq/lisk-transaction-pool';
import { Chain } from '@liskhq/lisk-chain';
import { EventEmitter } from 'events';
import { Logger } from '../../logger';
import { Network } from '../network';
import { BaseNetworkEndpoint } from '../network/base_network_endpoint';
import { Broadcaster } from './broadcaster';
import { ABI } from '../../abi';
interface NetworkEndpointArgs {
    network: Network;
    pool: TransactionPool;
    chain: Chain;
    abi: ABI;
    broadcaster: Broadcaster;
}
interface NetworkEndpointInitArgs {
    logger: Logger;
}
export declare class NetworkEndpoint extends BaseNetworkEndpoint {
    event: EventEmitter;
    private readonly _pool;
    private readonly _chain;
    private readonly _broadcaster;
    private readonly _abi;
    private _logger;
    constructor(args: NetworkEndpointArgs);
    init(args: NetworkEndpointInitArgs): void;
    handleRPCGetTransactions(data: unknown, peerId: string): Promise<Buffer>;
    handleEventPostTransactionsAnnouncement(data: unknown, peerId: string): Promise<void>;
    private _receiveTransaction;
    private _obtainUnknownTransactionIDs;
}
export {};
