import { Options as RetryOptions } from "async-retry"; export interface TenderlyForkParams { chainId: number; blockNumber?: number; txIndex?: number; alias?: string; description?: string; } export interface TenderlyForkResult { id: string; blockNumber: number; txIndex: number; accounts: { address: string; privateKey: string; }[]; rpcUrl: string; headId?: string; } /** * @notice Creates a new Tenderly fork based on the provided `TenderlyForkParams`. * @param {TenderlyForkParams} forkParams - The parameters to configure the new Tenderly fork. * @param {RetryOptions} [retryOptions=defaultRetryOptions] - Optional retry options for HTTP requests. * @returns {Promise} A Promise that resolves to the details of the created Tenderly fork. */ export declare const createTenderlyFork: (forkParams: TenderlyForkParams, retryOptions?: RetryOptions) => Promise; /** * @notice Retrieves information about a Tenderly fork with the specified `forkId`. * @param {string} forkId - The unique identifier of the Tenderly fork to retrieve. * @param {RetryOptions} [retryOptions=defaultRetryOptions] - Optional retry options for HTTP requests. * @returns {Promise} A Promise that resolves to the details of the Tenderly fork. */ export declare const getTenderlyFork: (forkId: string, retryOptions?: RetryOptions) => Promise; /** * @notice Shares a Tenderly fork with the specified `forkId`. * @param {string} forkId - The unique identifier of the Tenderly fork to share. * @param {RetryOptions} [retryOptions=defaultRetryOptions] - Optional retry options for HTTP requests. * @returns {Promise} A Promise that resolves to the URL of the shared Tenderly fork in the Tenderly dashboard. */ export declare const shareTenderlyFork: (forkId: string, retryOptions?: RetryOptions) => Promise; /** * @notice Unshares a previously shared Tenderly fork with the specified `forkId`. * @param {string} forkId - The unique identifier of the Tenderly fork to unshare. * @param {RetryOptions} [retryOptions=defaultRetryOptions] - Optional retry options for HTTP requests. * @returns {Promise} A Promise that resolves once the specified Tenderly fork is successfully unshared. */ export declare const unshareTenderlyFork: (forkId: string, retryOptions?: RetryOptions) => Promise; /** * @notice Deletes a Tenderly fork with the specified `forkId`. * @param {string} forkId - The unique identifier of the Tenderly fork to delete. * @param {RetryOptions} [retryOptions=defaultRetryOptions] - Optional retry options for HTTP requests. * @returns {Promise} A Promise that resolves once the specified Tenderly fork is successfully deleted. */ export declare const deleteTenderlyFork: (forkId: string, retryOptions?: RetryOptions) => Promise; /** * @notice Sets the balance of a specific Ethereum address in a Tenderly fork. * @param {string} forkId - The unique identifier of the Tenderly fork where the balance should be updated. * @param {string} address - The Ethereum address for which to set the balance. * @param {string} balance - The new balance in wei to assign to the address. * @param {RetryOptions} [retryOptions=defaultRetryOptions] - Optional retry options for HTTP requests. * @returns {Promise} A Promise that resolves to the updated head ID of the Tenderly fork after setting the balance. */ export declare const setTenderlyBalance: (forkId: string, address: string, balance: string, retryOptions?: RetryOptions) => Promise; /** * @notice Finds a Tenderly fork by its description. * @param {string} description - The description to search for in the Tenderly forks. * @param {RetryOptions} [retryOptions=defaultRetryOptions] - Optional retry options for HTTP requests. * @returns {Promise} A Promise that resolves to the details of the matching Tenderly * fork if found, or `undefined` if not found. * @dev This function is useful to find a fork that was created by a previous run, e.g. to avoid creating a new fork * if one already exists. */ export declare const findForkByDescription: (description: string, retryOptions?: RetryOptions) => Promise; /** * @notice Sets the description of a specific simulation within a Tenderly fork. * @param {string} forkId - The unique identifier of the Tenderly fork where the simulation is located. * @param {string} simulationId - The unique identifier of the simulation for which to set the description. * @param {string} description - The new description to assign to the simulation. * @param {RetryOptions} [retryOptions=defaultRetryOptions] - Optional retry options for HTTP requests. * @returns {Promise} A Promise that resolves once the description of the simulation is successfully updated. * @dev This function is useful to set a description on a simulation transaction that was not created through simulation * API (e.g. a transaction that was sent directly to the Tenderly fork RPC). */ export declare const setForkSimulationDescription: (forkId: string, simulationId: string, description: string, retryOptions?: RetryOptions) => Promise;