import { Template } from '../interfaces';
export declare const getContractABI: (abiName: string, version?: string) => Promise<any[]>;
export declare class AbiService {
    /**
     * caches for caching all the template avoid to request many times;
     */
    private static caches;
    /**
     * record all requested avoid duplicated request.
     */
    private static requests;
    /**
     * use stack to store all needs resolve;
     */
    private static resolves;
    static getTemplate(contractName: string, type: string): Promise<Template>;
    /**
     * getContractABITemplate share all request avoid duplicated.
     * @param abiName
     * @param version
     */
    static getContractABITemplate(abiName: string, version?: string): Promise<Template>;
    private static request;
}
