import { Call } from '../types';
export declare const CALL_ABI_PARAMS: readonly [{
    readonly type: "tuple[]";
    readonly components: readonly [{
        readonly type: "address";
        readonly name: "to";
    }, {
        readonly type: "uint256";
        readonly name: "value";
    }, {
        readonly type: "bytes";
        readonly name: "data";
    }];
}];
/**
 * CallPlanner is used to encode a series Calls
 */
export declare class CallPlanner {
    calls: Call[];
    /**
     * Create a new CallPlanner
     * @param calls optionally initialize with a list of calls
     */
    constructor(calls?: Call[]);
    /**
     * Get the total value of the calls
     */
    get value(): bigint;
    /**
     * abi encode the Calls[]
     */
    encode(): `0x${string}`;
    /**
     * Add a command to execute a call
     * @param to The target address of the call
     * @param value The ETH value to send with the call
     * @param data The calldata for the call
     */
    add(to: `0x${string}`, value: bigint, data: `0x${string}`): CallPlanner;
}
