import { Effect } from "effect";
import type { PublicClient, WalletClient } from "viem";
import type { PublicClientServiceShape, WalletClientServiceShape } from "../core/clients/index.js";
import type { ClientNotFoundError, WalletNotConnectedError, WrongNetworkError } from "../core/errors/index.js";
export declare const withPublicClient: (publicClientService: PublicClientServiceShape, chainId: number, fn: (client: PublicClient) => Effect.Effect) => Effect.Effect;
export declare const withWalletClient: (walletClientService: WalletClientServiceShape, chainId: number, fn: (client: WalletClient) => Effect.Effect) => Effect.Effect;
export declare const viemTryPromise: (operation: () => Promise, classifier: (error: unknown) => E) => Effect.Effect;
//# sourceMappingURL=viem-effect.d.ts.map