import { ethers } from 'ethers';
import { Fragment } from 'ethers/lib/utils';
import { DopStickConfig } from '../types/config';
interface FunctionConfig {
    name: string;
    abi: string | Fragment;
    params: Array<{
        name: string;
        type: string;
        value: any;
    }>;
}
export declare class LoupeFunctionManager {
    private defaultFunctions;
    private defaultAbis;
    private config;
    private functions;
    constructor(config?: DopStickConfig);
    private createFunctionConfig;
    private setupFunctions;
    getFunctionConfig(key: string): FunctionConfig;
    getInterface(): ethers.utils.Interface;
    callFunction(contract: ethers.Contract, key: string, ...args: any[]): Promise<any>;
}
export {};
//# sourceMappingURL=loupeFunctionManager.d.ts.map