import { Chain } from '@liskhq/lisk-chain';
import { ABI } from '../../abi';
import { EngineConfig } from '../../types';
import { Consensus } from '../consensus';
import { Generator } from '../generator';
import { RequestContext } from '../rpc/rpc_server';
interface EndpointArgs {
    abi: ABI;
    chain: Chain;
    consensus: Consensus;
    generator: Generator;
    config: EngineConfig;
    genesisHeight: number;
}
export declare class SystemEndpoint {
    [key: string]: unknown;
    private readonly _abi;
    private readonly _chain;
    private readonly _consensus;
    private readonly _generator;
    private readonly _config;
    private readonly _genesisHeight;
    constructor(args: EndpointArgs);
    getNodeInfo(_context: RequestContext): Promise<{
        version: string;
        networkVersion: string;
        chainID: string;
        lastBlockID: string;
        height: number;
        finalizedHeight: number;
        syncing: boolean;
        unconfirmedTransactions: number;
        genesisHeight: number;
        genesis: {
            block: {
                fromFile?: string | undefined;
                blob?: string | undefined;
            };
            chainID: string;
            maxTransactionsSize: number;
            blockTime: number;
            bftBatchSize: number;
            minimumCertifyHeight: number;
        };
        network: {
            version: string;
            port: number;
            host: string | undefined;
            seedPeers: {
                ip: string;
                port: number;
            }[];
            blacklistedIPs: string[] | undefined;
            fixedPeers: {
                ip: string;
                port: number;
            }[] | undefined;
            whitelistedPeers: {
                ip: string;
                port: number;
            }[] | undefined;
        };
    }>;
    getMetadata(_ctx: RequestContext): Promise<Record<string, unknown>>;
    getSchema(_ctx: RequestContext): Promise<Record<string, unknown>>;
    getMetricsReport(ctx: RequestContext): Promise<unknown>;
}
export {};
