import { type Address, type Hex } from "viem"; import type { IDeploymentService } from "../../../deploymentService/index.js"; import { type EVCBatchItem, type IExecutionService } from "../../../executionService/index.js"; import type { IProviderService } from "../../../providerService/index.js"; import type { BuildConnectorMigrationBatchArgs, GetMigrationAuthorizationArgs, GetMigrationPositionArgs, ListMigrationPositionsArgs, ListMigrationTargetsArgs, MigrationTarget, PositionMigrationConnector } from "../../positionMigrationServiceTypes.js"; import type { AaveConnectorMigrationAuthorizationRequest, AaveMigrationAuthorizationRequest, AaveMigrationConnectorConfig, AaveMigrationPosition, AaveMigrationTargetExtraData, AaveMigrationTargetRaw, AavePositionRef, AaveSignature } from "./aaveConnectorTypes.js"; export declare const AAVE_CONNECTOR_ID = "aave"; export declare const AAVE_PROTOCOL = "Aave V3"; export declare const AAVE_PERMIT_TYPES: { readonly Permit: readonly [{ readonly name: "owner"; readonly type: "address"; }, { readonly name: "spender"; readonly type: "address"; }, { readonly name: "value"; readonly type: "uint256"; }, { readonly name: "nonce"; readonly type: "uint256"; }, { readonly name: "deadline"; readonly type: "uint256"; }]; }; export declare const AAVE_DELEGATION_TYPES: { readonly DelegationWithSig: readonly [{ readonly name: "delegatee"; readonly type: "address"; }, { readonly name: "value"; readonly type: "uint256"; }, { readonly name: "nonce"; readonly type: "uint256"; }, { readonly name: "deadline"; readonly type: "uint256"; }]; }; export declare function getAavePositionId(positionRef: AavePositionRef): string; export declare function splitAaveSignature(signature: Hex): AaveSignature; export declare class AavePositionMigrationConnector implements PositionMigrationConnector { private readonly deploymentService; private readonly providerService; private readonly executionService; readonly id = "aave"; readonly protocol = "Aave V3"; readonly name = "Aave V3"; private readonly deployments; private readonly graphqlEndpoint?; private readonly marketCache; private readonly defaultInterestBufferBps; private readonly defaultOutboundInterestBufferBps; private readonly referralCode; constructor(deploymentService: IDeploymentService, providerService: IProviderService, executionService: IExecutionService, config?: AaveMigrationConnectorConfig); listPositions(args: ListMigrationPositionsArgs): Promise; listTargets(args: ListMigrationTargetsArgs): Promise[]>; getPosition(args: GetMigrationPositionArgs): Promise; getAuthorization(args: GetMigrationAuthorizationArgs & { authorizationKind: "transaction"; }): Promise | undefined>; getAuthorization(args: GetMigrationAuthorizationArgs & { authorizationKind?: "typedData"; }): Promise | undefined>; getAuthorization(args: GetMigrationAuthorizationArgs): Promise; buildMigrationBatch(args: BuildConnectorMigrationBatchArgs): Promise; getProtocolAddress(chainId: number): Address | undefined; getProtocolAddresses(chainId: number): Address[]; getPoolAddress(chainId: number, override?: Address): Address; private listGraphqlTargets; private listConfiguredDeploymentTargets; private getConfiguredDeploymentTarget; private resolveAaveMarket; private fetchAaveMarkets; private fetchAaveMarketsUncached; private buildExternalToEulerBatch; private buildEulerToAaveBatch; /** * `aToken.approve` — the signature-free form of the aToken permit. * * Synchronous: unlike the permit there is no nonce or EIP-712 domain to * read, so the grant needs no RPC round-trip. */ private buildATokenApprovalRequest; /** `variableDebtToken.approveDelegation` — signature-free debt delegation. */ private buildDebtDelegationApprovalRequest; private buildATokenPermitRequest; private buildDebtDelegationRequest; private encodeATokenPermitItem; private encodeDebtDelegationItem; private getATokenAllowance; private getBorrowAllowance; private validateSimulatedATokenApproval; private validateSimulatedDebtDelegation; } //# sourceMappingURL=aaveConnector.d.ts.map