import { Address } from "./address"; import { IAccount, IGasLimitEstimator } from "./interfaces"; import { Transaction } from "./transaction"; export declare type BaseControllerInput = { guardian?: Address; relayer?: Address; gasPrice?: bigint; gasLimit?: bigint; }; export declare class BaseController { readonly gasLimitEstimator?: IGasLimitEstimator; constructor(options?: { gasLimitEstimator?: IGasLimitEstimator; }); protected addExtraGasLimitIfRequired(transaction: Transaction): void; protected setupAndSignTransaction(transaction: Transaction, options: BaseControllerInput, nonce: bigint, sender: IAccount): Promise; protected setVersionAndOptionsForGuardian(transaction: Transaction): void; protected setTransactionGasOptions(transaction: Transaction, options: { gasLimit?: bigint; gasPrice?: bigint; }): Promise; }