import type { JsonRpcCall, JsonRpcMiddleware } from "@metamask/json-rpc-engine/v2";
import type { Json } from "@metamask/utils";
type RequestParams = [Record<string, Json>];
/**
 * Create a middleware that validates `wallet_requestPermissions` calls that
 * include the `wallet_snap` permission.
 *
 * This prevents requesting the `wallet_snap` permission in the same call as
 * other permissions, which could lead to a confusing user experience where
 * multiple permission screens are shown at once, or the other permissions are
 * not displayed properly because the `wallet_snap` permission screen takes
 * precedence.
 *
 * @returns The middleware.
 */
export declare function createWalletSnapPermissionMiddleware(): JsonRpcMiddleware<JsonRpcCall<RequestParams>>;
export {};
//# sourceMappingURL=wallet-snap-permission.d.mts.map