import { type Address } from "viem"; import { type EVCBatchItem, type IExecutionService, type TransactionPlan } from "../executionService/index.js"; import type { IProviderService } from "../providerService/index.js"; import { type BuildQueryFn } from "../../utils/buildQuery.js"; import type { BuildMigrationBatchArgs, GetMigrationAuthorizationArgs, GetMigrationPositionArgs, IPositionMigrationService, ListMigrationPositionsArgs, ListMigrationTargetsArgs, MigrationAuthorizationRequest, MigrationAuthorizationSlot, MigrationPosition, MigrationTarget, PlanMigrationArgs, PlanMigrationSimulationResult, PrepareMigrationAuthorizationSlotsArgs, PositionMigrationConnector, PositionMigrationConnectorMetadata, PositionMigrationServiceConfig } from "./positionMigrationServiceTypes.js"; type EulerTargetVaultData = { collateralVaultAsset: Address; borrowVaultAsset?: Address; borrowLtv: number; }; type EulerSourceVaultAssets = { borrowVaultAsset: Address; collateralVaultAsset: Address; }; export declare class PositionMigrationService implements IPositionMigrationService { private readonly providerService; private readonly executionService; private readonly connectors; constructor(providerService: IProviderService, executionService: IExecutionService, config?: PositionMigrationServiceConfig, buildQuery?: BuildQueryFn); getConnectors(): PositionMigrationConnectorMetadata[]; registerConnector(connector: PositionMigrationConnector): void; getConnector(connectorId: string): PositionMigrationConnector; getConnectorProtocolAddress(connectorId: string, chainId: number): Address | undefined; queryListPositions: (args: ListMigrationPositionsArgs) => Promise; listPositions(args: ListMigrationPositionsArgs): Promise; queryListTargets: (args: ListMigrationTargetsArgs) => Promise; listTargets(args: ListMigrationTargetsArgs): Promise; queryGetPosition: (args: GetMigrationPositionArgs) => Promise; getPosition(args: GetMigrationPositionArgs): Promise; queryGetAuthorization: (args: GetMigrationAuthorizationArgs) => Promise; getAuthorization(args: GetMigrationAuthorizationArgs): Promise; buildMigrationBatch(args: BuildMigrationBatchArgs): Promise; planMigration(args: PlanMigrationArgs): Promise; planMigrationSimulation(args: PlanMigrationArgs): Promise; /** * Locate each built-in typed migration authorization in a preview plan and * return a versioned ABI path. Matching validates the target, signer, all * non-signature arguments, and the SDK's exact stub signature. */ prepareMigrationAuthorizationSlots(args: PrepareMigrationAuthorizationSlotsArgs): Promise; private buildMigrationBatchForConnector; private buildOutgoingEulerCleanupItems; private resolvePosition; private getStubAuthorization; private getSimulationAuthorization; private validateEulerTargets; private validateEulerSource; queryEulerTargetVaultData: (args: { chainId: number; hasDebt: boolean; borrowVault?: Address; collateralVault: Address; }) => Promise; queryEulerSourceVaultAssets: (args: { chainId: number; borrowVault: Address; collateralVault: Address; }) => Promise; } export {}; //# sourceMappingURL=positionMigrationService.d.ts.map