import type { Address } from "@morpho-org/blue-sdk"; import type { DeploylessFetchParameters } from "@morpho-org/blue-sdk-viem"; import type { Client } from "viem"; import type { MigratablePosition } from "../positions/index.js"; import { MigratableProtocol } from "../types/index.js"; /** * Fetches migratable positions for a user across specified protocols. * * @param user - The address of the user whose positions need to be fetched. * @param client - The client instance to interact with the blockchain. * @param options - Additional parameters for the fetch operation. * @param options.parameters - Optional parameters for fetching positions. * @param options.protocols - List of protocols to fetch positions from. * Defaults to all supported protocols. * * @returns A promise resolving to a map of protocols to their respective migratable positions. * * @example * ```typescript * import { fetchMigratablePositions, MigratableProtocol } from "@morpho-org/migration-sdk-viem"; * import { Client } from "viem"; * * const user = "0x123...abc"; // Replace with the user's address * const client = new Client({}); // Replace with a properly configured client * * const positions = await fetchMigratablePositions(user, client, { * protocols: [MigratableProtocol.aaveV2, MigratableProtocol.compoundV3], * }); * console.log(positions); * ``` */ export declare function fetchMigratablePositions(user: Address, client: Client, { parameters, protocols, }?: { parameters?: DeploylessFetchParameters; protocols?: MigratableProtocol[]; }): Promise<{ [protocol in MigratableProtocol]?: MigratablePosition[]; }>;