import { JsonRpcEngine } from "@metamask/json-rpc-engine"; import type { SnapId } from "@metamask/snaps-sdk"; import type { RootControllerMessenger } from "../controllers.mjs"; import type { MultichainMiddlewareHooks, PermittedMiddlewareHooks, RestrictedMiddlewareHooks } from "../simulation.mjs"; import type { Store } from "../store/index.mjs"; export type CreateJsonRpcEngineOptions = { snapId: SnapId; messenger: RootControllerMessenger; store: Store; restrictedHooks: RestrictedMiddlewareHooks; permittedHooks: PermittedMiddlewareHooks; multichainHooks: MultichainMiddlewareHooks; endpoint?: string; isMultichain: boolean; }; /** * Create a JSON-RPC engine for use in a simulated environment. This engine * should be used to handle all JSON-RPC requests. It is set up to handle * requests that would normally be handled internally by the MetaMask client, as * well as Snap-specific requests. * * @param options - The options to use when creating the engine. * @param options.snapId - The Snap ID. * @param options.messenger - The messenger. * @param options.store - The Redux store to use. * @param options.restrictedHooks - Any hooks used by the middleware handlers. * @param options.permittedHooks - Any hooks used by the middleware handlers. * @param options.multichainHooks - Hooks used by the multichain middleware. * @param options.isMultichain - Whether the engine is used for multichain. * @returns A JSON-RPC engine. */ export declare function createJsonRpcEngine({ snapId, messenger, store, restrictedHooks, permittedHooks, multichainHooks, isMultichain, }: CreateJsonRpcEngineOptions): JsonRpcEngine; //# sourceMappingURL=engine.d.mts.map