import { Effect } from "effect"; import type { Abi } from "viem"; import type { ContractWriterShape } from "../../../contract/index.js"; import type { ClientNotFoundError, ContractReadError, GasEstimationError, InsufficientFundsError, SimulationFailedError, UserRejectedError } from "../../../core/index.js"; import type { GasPriceUnavailableError, GasServiceShape } from "../../../gas/index.js"; import type { TxPolicy } from "../../../tx/index.js"; import type { ContractFunctionName, FeeOverrides, TxOverrides, WriteParams } from "../../../types/index.js"; export type BaseOverrides = TxOverrides & FeeOverrides; export declare const deriveBaseOverrides: (gasService: GasServiceShape, params: { chainId: number; policy: TxPolicy; userOverrides?: TxOverrides; }) => Effect.Effect; export declare const simulateAndEstimate: >(writer: ContractWriterShape, params: WriteParams, baseOverrides: BaseOverrides, policy: TxPolicy) => Effect.Effect<{ finalGas: bigint; overridesWithGas: BaseOverrides & { gas: bigint; }; }, SimulationFailedError | ContractReadError | GasEstimationError | ClientNotFoundError | InsufficientFundsError | UserRejectedError>; //# sourceMappingURL=prepare.d.ts.map