import { Context, Effect, Layer } from "effect"; import type { Address } from "viem"; import type { UserRejectedError } from "../core/index.js"; import type { AddChainParams, ChainSwitchError, WalletProvider, WatchAssetParams } from "../wallet/index.js"; import { AccountNotConnectedError, AddChainError, WalletConnectionError, WalletProviderRef, WatchAssetError } from "../wallet/index.js"; export type WalletLifecycleShape = { readonly connect: () => Effect.Effect; readonly disconnect: () => Effect.Effect; readonly isConnected: Effect.Effect; readonly switchChain: (chainId: number) => Effect.Effect; readonly addChain: (chain: AddChainParams) => Effect.Effect; readonly getChainId: () => Effect.Effect; readonly watchAsset: (params: WatchAssetParams) => Effect.Effect; }; declare const WalletLifecycle_base: Context.TagClass; export declare class WalletLifecycle extends WalletLifecycle_base { } export declare function makeWalletLifecycleLive(provider: WalletProvider): Layer.Layer; export declare const WalletLifecycleFromProviderRefLive: Layer.Layer; export declare const WalletLifecycleLive: Layer.Layer; export {}; //# sourceMappingURL=lifecycle.d.ts.map