import Safe from '@safe-global/protocol-kit';
import { MetaTransactionData, UserOperation } from '@safe-global/types-kit';
import { PaymasterOptions, UserOperationStringValues } from '../../../packs/safe-4337/types';
/**
 * Creates an initial UserOperation before adding all the estimation values
 * @param {Safe} protocolKit - The Safe instance
 * @param {MetaTransactionData[]} transactions - The transactions to batch
 * @param {{ entryPoint: string; amountToApprove?: bigint; paymasterOptions: PaymasterOptions }} options
 * @param {bigint} options.amountToApprove - The amount to approve. Useful for ERC20 paymasters to include an approve transaction for the ERC20 token ruling the paymaster
 * @param {string} options.entryPoint - The entry point for the UserOperation
 * @param {PaymasterOptions} options.paymasterOptions - The options for the paymaster
 * @returns {Promise<UserOperation>} The initialized UserOperation
 */
export declare function createUserOperation(protocolKit: Safe, transactions: MetaTransactionData[], { amountToApprove, entryPoint, paymasterOptions, customNonce }: {
    entryPoint: string;
    amountToApprove?: bigint;
    paymasterOptions: PaymasterOptions;
    customNonce?: bigint;
}): Promise<UserOperation>;
/**
 * Converts various bigint values from a UserOperation to their hexadecimal representation.
 *
 * @param {UserOperation} userOperation - The UserOperation object whose values are to be converted.
 * @returns {UserOperation} A new UserOperation object with the values converted to hexadecimal.
 */
export declare function userOperationToHexValues(userOperation: UserOperation, entryPointAddress: string): UserOperationStringValues;
//# sourceMappingURL=userOperations.d.ts.map