import type { Address, BundlerRpcSchema, Chain, Client, ClientConfig, Prettify, RpcSchema, Transport } from "viem"; import { type BundlerActions, type EntryPointVersion, type PaymasterActions, type SmartAccount } from "viem/account-abstraction"; import type { PimlicoRpcSchema } from "../../types/pimlico.js"; import { type PimlicoActions } from "../decorators/pimlico.js"; type PimlicoClientInner = Client ? chain : undefined, account, rpcSchema extends RpcSchema ? [...BundlerRpcSchema, ...PimlicoRpcSchema, ...rpcSchema] : [...BundlerRpcSchema, ...PimlicoRpcSchema], BundlerActions & PaymasterActions & PimlicoActions>; export type PimlicoClient< /** @ts-expect-error cast variance */ out entryPointVersion extends EntryPointVersion = EntryPointVersion, out transport extends Transport = Transport, /** @ts-expect-error cast variance */ out chain extends Chain | undefined = Chain | undefined, out account extends SmartAccount | undefined = SmartAccount | undefined, out client extends Client | undefined = Client | undefined, rpcSchema extends RpcSchema | undefined = undefined> = { [key in keyof PimlicoClientInner]: PimlicoClientInner[key]; }; export type PimlicoClientConfig = Prettify, "account" | "cacheTime" | "chain" | "key" | "name" | "pollingInterval" | "rpcSchema" | "transport">> & { entryPoint?: { address: Address; version: entryPointVersion; }; }; export declare function createPimlicoClient(parameters: PimlicoClientConfig): PimlicoClient; export {}; //# sourceMappingURL=index.d.ts.map