import { AxiosInstance } from "axios";
import { AccountInfoResponse, AccountTxResponse } from "xrpl";
import { BlockHeaderBase, BlockTipBase } from "../base-objects/BlockBase";
import { XrpFullBlock } from "../base-objects/fullBlocks/XrpFullBlock";
import { XrpMccCreate } from "../types";
import { XrpBlock, XrpNodeStatus, XrpTransaction } from "../base-objects";
import { ChainType, ReadRpcInterface, getTransactionOptions } from "../types/genericMccTypes";
export declare class XRPImplementation implements ReadRpcInterface<BlockTipBase, BlockHeaderBase, XrpBlock, XrpFullBlock, XrpTransaction> {
    client: AxiosInstance;
    inRegTest: any;
    chainType: ChainType;
    constructor(createConfig: XrpMccCreate);
    getBlockTips?(height_gte: number): Promise<BlockTipBase[]>;
    getTopLiteBlocks(branch_len: number, read_main?: boolean): Promise<BlockTipBase[]>;
    listTransactions?(options?: any): void;
    /**
     * get NodeStatus object with information about node used to connect to underlying chain
     * @external_docs https://xrpl.org/server_state.html
     */
    getNodeStatus(): Promise<XrpNodeStatus>;
    /**
     * Get the height of the block from which the underlying node holds the full history
     * @returns the block height of the first block in latest joined block set in node memory
     */
    getBottomBlockHeight(): Promise<number>;
    private blockRequestBase;
    getFullBlock(blockNumberOrHash: string | number): Promise<XrpFullBlock>;
    getBlock(blockNumberOrHash: number | string): Promise<XrpBlock>;
    getBlockHeader(blockNumberOrHash: number | string): Promise<XrpBlock>;
    getBlockHeight(): Promise<number>;
    getTransaction(txId: string, options?: getTransactionOptions): Promise<XrpTransaction>;
    /**
     *
     * @param account A unique identifier for the account, most commonly the account's Address.
     * @param upperBound either blockHash or block number for the upper bound (The information does not contain any changes from ledger versions newer than this one.)
     * @returns
     */
    getAccountInfo(account: string, upperBound?: number | string): Promise<AccountInfoResponse>;
    getAccountTransactions(account: string, lowerBound?: number, upperBound?: number): Promise<AccountTxResponse>;
}
//# sourceMappingURL=XrpRpcImplementation.d.ts.map