import { ChainId } from '@envanik/sdk';
import { useLastSubgraphBlock } from 'src/apollo/block';
export declare type RPCResponse<T> = {
    jsonrpc: string;
    id: number;
    result: T;
};
export interface Block {
    hash: string;
    parentHash: string;
    number: number;
    timestamp: number;
    nonce: string;
    difficulty: number;
    gasLimit: string;
    gasUsed: string;
    miner: string;
    extraData: string;
    transactions: Array<string>;
}
/**
 * This hook return the block data from json rpc
 * @returns The block data
 */
export declare function useLastBlock(): Block | undefined;
export declare type useLastBlockType = {
    [chainId in ChainId]: typeof useLastBlock | typeof useLastSubgraphBlock;
};
export declare const useLastBlockHook: useLastBlockType;
/**
 * This hook get a timestamp of the last block via json-rpc
 * @returns timestamp of last block
 */
export declare function useLastBlockTimestamp(): number | undefined;
/**
 * This hook get a timestamp of the last block via subgraph
 * @returns timestamp of last block
 */
export declare function useLastBlockTimestampViaSubgraph(): number | undefined;
export declare type useLastBlockTimestampType = {
    [chainId in ChainId]: typeof useLastBlockTimestamp | typeof useLastBlockTimestampViaSubgraph;
};
export declare const useLastBlockTimestampHook: useLastBlockTimestampType;
