import { Options as RetryOptions } from "async-retry"; export interface TenderlyEnvironment { user: string; project: string; apiKey: string; } export interface StateOverride { address: string; slot: string; offset?: number; value: string; } interface ForkParams { id: string; root?: string; } export interface TenderlySimulationParams { chainId: number; to?: string; input?: string; value?: string; from?: string; timestampOverride?: number; stateOverrides?: StateOverride[]; fork?: ForkParams; description?: string; } interface ResultUrl { url: string; public: boolean; } export interface TenderlySimulationResult { id: string; status: boolean; gasUsed: number; resultUrl: ResultUrl; } /** * @notice Checks for required environment variables and returns a TenderlyEnvironment object. * @returns TenderlyEnvironment object containing Tenderly user, project and access key. */ export declare const processTenderlyEnv: () => TenderlyEnvironment; /** * @notice Simulates a transaction on Tenderly to obtain its result and gas consumption. * @param {TenderlySimulationParams} simulationParams - The parameters for the transaction simulation. * @param {RetryOptions} [retryOptions=defaultRetryOptions] - Optional retry options for HTTP requests. * @returns {Promise} A Promise that resolves with the result of the transaction simulation, * including its ID, status (success or failure), gas used, and the URL to the simulation result page. */ export declare const simulateTenderlyTx: (simulationParams: TenderlySimulationParams, retryOptions?: RetryOptions) => Promise; export {};