export declare const gearboxRouterAbi: readonly [{ readonly type: "constructor"; readonly inputs: readonly [{ readonly name: "owner"; readonly type: "address"; readonly internalType: "address"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "componentAddressByType"; readonly inputs: readonly [{ readonly name: ""; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "contractType"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "createOpenStrategyPathTask"; readonly inputs: readonly [{ readonly name: "creditManager"; readonly type: "address"; readonly internalType: "contract ICreditManagerV3"; }, { readonly name: "target"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "slippage"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "tData"; readonly type: "tuple[]"; readonly internalType: "struct TokenData[]"; readonly components: readonly [{ readonly name: "token"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "balance"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "leftoverBalance"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "numSplits"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "claimRewards"; readonly type: "bool"; readonly internalType: "bool"; }]; }]; readonly outputs: readonly [{ readonly name: "task"; readonly type: "tuple"; readonly internalType: "struct StrategyPathTask"; readonly components: readonly [{ readonly name: "creditAccount"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "graph"; readonly type: "tuple"; readonly internalType: "struct Graph"; readonly components: readonly [{ readonly name: "vertices"; readonly type: "tuple[]"; readonly internalType: "struct Vertex[]"; readonly components: readonly [{ readonly name: "token"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "balance"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "leftoverBalance"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "numSplits"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "currentOptimalEdge"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }, { readonly name: "edges"; readonly type: "tuple[]"; readonly internalType: "struct Edge[]"; readonly components: readonly [{ readonly name: "id"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "tokenIn"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "tokenOut"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "adapter"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "worker"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "extraData"; readonly type: "bytes"; readonly internalType: "bytes"; }, { readonly name: "amountInTotal"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "amountOutTotal"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "amountInCurrent"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "amountOutCurrent"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }]; }, { readonly name: "target"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "adapters"; readonly type: "address[]"; readonly internalType: "address[]"; }, { readonly name: "slippage"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "force"; readonly type: "bool"; readonly internalType: "bool"; }, { readonly name: "initTargetBalance"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "calls"; readonly type: "tuple[]"; readonly internalType: "struct MultiCall[]"; readonly components: readonly [{ readonly name: "target"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "callData"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }]; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "createStrategyPathTask"; readonly inputs: readonly [{ readonly name: "creditAccount"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "target"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "slippage"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "force"; readonly type: "bool"; readonly internalType: "bool"; }, { readonly name: "tData"; readonly type: "tuple[]"; readonly internalType: "struct TokenData[]"; readonly components: readonly [{ readonly name: "token"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "balance"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "leftoverBalance"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "numSplits"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "claimRewards"; readonly type: "bool"; readonly internalType: "bool"; }]; }]; readonly outputs: readonly [{ readonly name: "task"; readonly type: "tuple"; readonly internalType: "struct StrategyPathTask"; readonly components: readonly [{ readonly name: "creditAccount"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "graph"; readonly type: "tuple"; readonly internalType: "struct Graph"; readonly components: readonly [{ readonly name: "vertices"; readonly type: "tuple[]"; readonly internalType: "struct Vertex[]"; readonly components: readonly [{ readonly name: "token"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "balance"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "leftoverBalance"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "numSplits"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "currentOptimalEdge"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }, { readonly name: "edges"; readonly type: "tuple[]"; readonly internalType: "struct Edge[]"; readonly components: readonly [{ readonly name: "id"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "tokenIn"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "tokenOut"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "adapter"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "worker"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "extraData"; readonly type: "bytes"; readonly internalType: "bytes"; }, { readonly name: "amountInTotal"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "amountOutTotal"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "amountInCurrent"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "amountOutCurrent"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }]; }, { readonly name: "target"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "adapters"; readonly type: "address[]"; readonly internalType: "address[]"; }, { readonly name: "slippage"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "force"; readonly type: "bool"; readonly internalType: "bool"; }, { readonly name: "initTargetBalance"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "calls"; readonly type: "tuple[]"; readonly internalType: "struct MultiCall[]"; readonly components: readonly [{ readonly name: "target"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "callData"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }]; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "futureRouter"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getAdapters"; readonly inputs: readonly [{ readonly name: "creditManager"; readonly type: "address"; readonly internalType: "contract ICreditManagerV3"; }]; readonly outputs: readonly [{ readonly name: "result"; readonly type: "address[]"; readonly internalType: "address[]"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getDefaultTokenData"; readonly inputs: readonly [{ readonly name: "creditAccount"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly [{ readonly name: "tData"; readonly type: "tuple[]"; readonly internalType: "struct TokenData[]"; readonly components: readonly [{ readonly name: "token"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "balance"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "leftoverBalance"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "numSplits"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "claimRewards"; readonly type: "bool"; readonly internalType: "bool"; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "isRouterConfigurator"; readonly inputs: readonly [{ readonly name: "account"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; readonly internalType: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "knownComponentTypes"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: "knownTypes"; readonly type: "bytes32[]"; readonly internalType: "bytes32[]"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "migrateRouterComponents"; readonly inputs: readonly [{ readonly name: "_prevRouter"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "owner"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "processClaims"; readonly inputs: readonly [{ readonly name: "creditAccount"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "tData"; readonly type: "tuple[]"; readonly internalType: "struct TokenData[]"; readonly components: readonly [{ readonly name: "token"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "balance"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "leftoverBalance"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "numSplits"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "claimRewards"; readonly type: "bool"; readonly internalType: "bool"; }]; }]; readonly outputs: readonly [{ readonly name: "calls"; readonly type: "tuple[]"; readonly internalType: "struct MultiCall[]"; readonly components: readonly [{ readonly name: "target"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "callData"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "renounceOwnership"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "routeManyToOne"; readonly inputs: readonly [{ readonly name: "creditAccount"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "target"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "slippage"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "tData"; readonly type: "tuple[]"; readonly internalType: "struct TokenData[]"; readonly components: readonly [{ readonly name: "token"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "balance"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "leftoverBalance"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "numSplits"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "claimRewards"; readonly type: "bool"; readonly internalType: "bool"; }]; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple"; readonly internalType: "struct RouterResult"; readonly components: readonly [{ readonly name: "amount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "minAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "calls"; readonly type: "tuple[]"; readonly internalType: "struct MultiCall[]"; readonly components: readonly [{ readonly name: "target"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "callData"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }]; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "routeOneToOne"; readonly inputs: readonly [{ readonly name: "creditAccount"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "tokenIn"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "amount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "target"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "slippage"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "numSplits"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple"; readonly internalType: "struct RouterResult"; readonly components: readonly [{ readonly name: "amount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "minAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "calls"; readonly type: "tuple[]"; readonly internalType: "struct MultiCall[]"; readonly components: readonly [{ readonly name: "target"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "callData"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }]; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "routeOneToOneDiff"; readonly inputs: readonly [{ readonly name: "creditAccount"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "tokenIn"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "balance"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "leftoverBalance"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "target"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "slippage"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "numSplits"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple"; readonly internalType: "struct RouterResult"; readonly components: readonly [{ readonly name: "amount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "minAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "calls"; readonly type: "tuple[]"; readonly internalType: "struct MultiCall[]"; readonly components: readonly [{ readonly name: "target"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "callData"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }]; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "routeOpenManyToOne"; readonly inputs: readonly [{ readonly name: "creditManager"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "target"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "slippage"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "tData"; readonly type: "tuple[]"; readonly internalType: "struct TokenData[]"; readonly components: readonly [{ readonly name: "token"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "balance"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "leftoverBalance"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "numSplits"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "claimRewards"; readonly type: "bool"; readonly internalType: "bool"; }]; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple"; readonly internalType: "struct RouterResult"; readonly components: readonly [{ readonly name: "amount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "minAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "calls"; readonly type: "tuple[]"; readonly internalType: "struct MultiCall[]"; readonly components: readonly [{ readonly name: "target"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "callData"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }]; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "routingManager"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "contract IRoutingManager"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "setFutureRouter"; readonly inputs: readonly [{ readonly name: "_futureRouter"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setPathComponent"; readonly inputs: readonly [{ readonly name: "componentAddress"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setPathComponentBatch"; readonly inputs: readonly [{ readonly name: "componentAddresses"; readonly type: "address[]"; readonly internalType: "address[]"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "transferOwnership"; readonly inputs: readonly [{ readonly name: "newOwner"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "version"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "event"; readonly name: "OwnershipTransferred"; readonly inputs: readonly [{ readonly name: "previousOwner"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }, { readonly name: "newOwner"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "RouterComponentUpdate"; readonly inputs: readonly [{ readonly name: ""; readonly type: "bytes32"; readonly indexed: true; readonly internalType: "bytes32"; }, { readonly name: ""; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }, { readonly name: "version"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "SetFutureRouter"; readonly inputs: readonly [{ readonly name: ""; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }]; readonly anonymous: false; }, { readonly type: "error"; readonly name: "UnsupportedRouterComponent"; readonly inputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address"; }]; }];