import { RootChain } from "./root_chain";
import { BaseWeb3Client } from "../abstracts";
import { IBaseClientConfig } from "..";
interface IChainBlockInfo {
    lastChildBlock: string;
    txBlockNumber: number;
}
export declare class ExitUtil {
    private maticClient_;
    rootChain: RootChain;
    requestConcurrency: number;
    config: IBaseClientConfig;
    constructor(config: IBaseClientConfig, maticClient: BaseWeb3Client, rootChain: RootChain, requestConcurrency: number);
    private getLogIndex_;
    getChainBlockInfo(burnTxHash: string): Promise<IChainBlockInfo>;
    private isCheckPointed_;
    isCheckPointed(burnTxHash: string): Promise<boolean>;
    private getRootBlockInfo;
    private getRootBlockInfoFromAPI;
    private getBlockProof;
    private getBlockProofFromAPI;
    buildPayloadForExit(burnTxHash: string, logEventSig: string, isFast: boolean): Promise<any>;
    private _encodePayload;
    getExitHash(burnTxHash: any, logEventSig: any): Promise<string>;
}
export {};
