declare const contract: {
    readonly id: 34966;
    readonly address: "0x5260db5956f9ed313b467fa2d5272c6f3d0253cb";
    readonly contract_name: "MerklStrategy";
    readonly display_name: "Merkl Strategy";
    readonly is_deprecated: false;
    readonly is_proxy: false;
    readonly proxy_to: false;
    readonly created_at: 1747913762;
    readonly abi: readonly [{
        readonly type: "constructor";
        readonly stateMutability: "nonpayable";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "_configManager";
        }];
    }, {
        readonly name: "ApproveFailed";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ECDSAInvalidSignature";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ECDSAInvalidSignatureLength";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "uint256";
            readonly name: "length";
        }];
    }, {
        readonly name: "ECDSAInvalidSignatureS";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "bytes32";
            readonly name: "s";
        }];
    }, {
        readonly name: "ExternalCallFailed";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InsufficientAmountOut";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidAsset";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidFeeConfig";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidInstructionType";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidNumberOfAssets";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidParams";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidSigner";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidStrategy";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidSwapRouter";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "InvalidVaultConfig";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "NotEnoughAmountOut";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "SafeERC20FailedOperation";
        readonly type: "error";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "token";
        }];
    }, {
        readonly name: "SignatureExpired";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "SwapFailed";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "TransferFailed";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "ZeroAddress";
        readonly type: "error";
        readonly inputs: readonly [];
    }, {
        readonly name: "FeeCollected";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "vaultAddress";
            readonly indexed: true;
        }, {
            readonly type: "uint8";
            readonly name: "feeType";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "recipient";
            readonly indexed: true;
        }, {
            readonly type: "address";
            readonly name: "token";
        }, {
            readonly type: "uint256";
            readonly name: "amount";
        }];
    }, {
        readonly name: "MerklRewardsClaimed";
        readonly type: "event";
        readonly inputs: readonly [{
            readonly type: "address";
            readonly name: "token";
            readonly indexed: true;
        }, {
            readonly type: "uint256";
            readonly name: "amount";
        }, {
            readonly type: "address";
            readonly name: "principalToken";
        }, {
            readonly type: "uint256";
            readonly name: "principalAmount";
        }];
    }, {
        readonly name: "convert";
        readonly type: "function";
        readonly stateMutability: "payable";
        readonly inputs: readonly [{
            readonly type: "tuple[]";
            readonly name: "assets";
            readonly components: readonly [{
                readonly type: "uint8";
                readonly name: "assetType";
            }, {
                readonly type: "address";
                readonly name: "strategy";
            }, {
                readonly type: "address";
                readonly name: "token";
            }, {
                readonly type: "uint256";
                readonly name: "tokenId";
            }, {
                readonly type: "uint256";
                readonly name: "amount";
            }];
        }, {
            readonly type: "tuple";
            readonly name: "config";
            readonly components: readonly [{
                readonly type: "bool";
                readonly name: "allowDeposit";
            }, {
                readonly type: "uint8";
                readonly name: "rangeStrategyType";
            }, {
                readonly type: "uint8";
                readonly name: "tvlStrategyType";
            }, {
                readonly type: "address";
                readonly name: "principalToken";
            }, {
                readonly type: "address[]";
                readonly name: "supportedAddresses";
            }];
        }, {
            readonly type: "tuple";
            readonly name: "feeConfig";
            readonly components: readonly [{
                readonly type: "uint16";
                readonly name: "vaultOwnerFeeBasisPoint";
            }, {
                readonly type: "address";
                readonly name: "vaultOwner";
            }, {
                readonly type: "uint16";
                readonly name: "platformFeeBasisPoint";
            }, {
                readonly type: "address";
                readonly name: "platformFeeRecipient";
            }, {
                readonly type: "uint64";
                readonly name: "gasFeeX64";
            }, {
                readonly type: "address";
                readonly name: "gasFeeRecipient";
            }];
        }, {
            readonly type: "bytes";
            readonly name: "data";
        }];
        readonly outputs: readonly [{
            readonly type: "tuple[]";
            readonly name: "returnAssets";
            readonly components: readonly [{
                readonly type: "uint8";
                readonly name: "assetType";
            }, {
                readonly type: "address";
                readonly name: "strategy";
            }, {
                readonly type: "address";
                readonly name: "token";
            }, {
                readonly type: "uint256";
                readonly name: "tokenId";
            }, {
                readonly type: "uint256";
                readonly name: "amount";
            }];
        }];
    }, {
        readonly name: "convertFromPrincipal";
        readonly type: "function";
        readonly stateMutability: "payable";
        readonly inputs: readonly [{
            readonly type: "tuple";
            readonly name: "existingAsset";
            readonly components: readonly [{
                readonly type: "uint8";
                readonly name: "assetType";
            }, {
                readonly type: "address";
                readonly name: "strategy";
            }, {
                readonly type: "address";
                readonly name: "token";
            }, {
                readonly type: "uint256";
                readonly name: "tokenId";
            }, {
                readonly type: "uint256";
                readonly name: "amount";
            }];
        }, {
            readonly type: "uint256";
            readonly name: "principalTokenAmount";
        }, {
            readonly type: "tuple";
            readonly name: "config";
            readonly components: readonly [{
                readonly type: "bool";
                readonly name: "allowDeposit";
            }, {
                readonly type: "uint8";
                readonly name: "rangeStrategyType";
            }, {
                readonly type: "uint8";
                readonly name: "tvlStrategyType";
            }, {
                readonly type: "address";
                readonly name: "principalToken";
            }, {
                readonly type: "address[]";
                readonly name: "supportedAddresses";
            }];
        }];
        readonly outputs: readonly [{
            readonly type: "tuple[]";
            readonly components: readonly [{
                readonly type: "uint8";
                readonly name: "assetType";
            }, {
                readonly type: "address";
                readonly name: "strategy";
            }, {
                readonly type: "address";
                readonly name: "token";
            }, {
                readonly type: "uint256";
                readonly name: "tokenId";
            }, {
                readonly type: "uint256";
                readonly name: "amount";
            }];
        }];
    }, {
        readonly name: "convertToPrincipal";
        readonly type: "function";
        readonly stateMutability: "payable";
        readonly inputs: readonly [{
            readonly type: "tuple";
            readonly name: "existingAsset";
            readonly components: readonly [{
                readonly type: "uint8";
                readonly name: "assetType";
            }, {
                readonly type: "address";
                readonly name: "strategy";
            }, {
                readonly type: "address";
                readonly name: "token";
            }, {
                readonly type: "uint256";
                readonly name: "tokenId";
            }, {
                readonly type: "uint256";
                readonly name: "amount";
            }];
        }, {
            readonly type: "uint256";
            readonly name: "shares";
        }, {
            readonly type: "uint256";
            readonly name: "totalSupply";
        }, {
            readonly type: "tuple";
            readonly name: "config";
            readonly components: readonly [{
                readonly type: "bool";
                readonly name: "allowDeposit";
            }, {
                readonly type: "uint8";
                readonly name: "rangeStrategyType";
            }, {
                readonly type: "uint8";
                readonly name: "tvlStrategyType";
            }, {
                readonly type: "address";
                readonly name: "principalToken";
            }, {
                readonly type: "address[]";
                readonly name: "supportedAddresses";
            }];
        }, {
            readonly type: "tuple";
            readonly name: "feeConfig";
            readonly components: readonly [{
                readonly type: "uint16";
                readonly name: "vaultOwnerFeeBasisPoint";
            }, {
                readonly type: "address";
                readonly name: "vaultOwner";
            }, {
                readonly type: "uint16";
                readonly name: "platformFeeBasisPoint";
            }, {
                readonly type: "address";
                readonly name: "platformFeeRecipient";
            }, {
                readonly type: "uint64";
                readonly name: "gasFeeX64";
            }, {
                readonly type: "address";
                readonly name: "gasFeeRecipient";
            }];
        }];
        readonly outputs: readonly [{
            readonly type: "tuple[]";
            readonly components: readonly [{
                readonly type: "uint8";
                readonly name: "assetType";
            }, {
                readonly type: "address";
                readonly name: "strategy";
            }, {
                readonly type: "address";
                readonly name: "token";
            }, {
                readonly type: "uint256";
                readonly name: "tokenId";
            }, {
                readonly type: "uint256";
                readonly name: "amount";
            }];
        }];
    }, {
        readonly name: "harvest";
        readonly type: "function";
        readonly stateMutability: "payable";
        readonly inputs: readonly [{
            readonly type: "tuple";
            readonly name: "asset";
            readonly components: readonly [{
                readonly type: "uint8";
                readonly name: "assetType";
            }, {
                readonly type: "address";
                readonly name: "strategy";
            }, {
                readonly type: "address";
                readonly name: "token";
            }, {
                readonly type: "uint256";
                readonly name: "tokenId";
            }, {
                readonly type: "uint256";
                readonly name: "amount";
            }];
        }, {
            readonly type: "address";
            readonly name: "tokenOut";
        }, {
            readonly type: "uint256";
            readonly name: "amountTokenOutMin";
        }, {
            readonly type: "tuple";
            readonly name: "vaultConfig";
            readonly components: readonly [{
                readonly type: "bool";
                readonly name: "allowDeposit";
            }, {
                readonly type: "uint8";
                readonly name: "rangeStrategyType";
            }, {
                readonly type: "uint8";
                readonly name: "tvlStrategyType";
            }, {
                readonly type: "address";
                readonly name: "principalToken";
            }, {
                readonly type: "address[]";
                readonly name: "supportedAddresses";
            }];
        }, {
            readonly type: "tuple";
            readonly name: "feeConfig";
            readonly components: readonly [{
                readonly type: "uint16";
                readonly name: "vaultOwnerFeeBasisPoint";
            }, {
                readonly type: "address";
                readonly name: "vaultOwner";
            }, {
                readonly type: "uint16";
                readonly name: "platformFeeBasisPoint";
            }, {
                readonly type: "address";
                readonly name: "platformFeeRecipient";
            }, {
                readonly type: "uint64";
                readonly name: "gasFeeX64";
            }, {
                readonly type: "address";
                readonly name: "gasFeeRecipient";
            }];
        }];
        readonly outputs: readonly [{
            readonly type: "tuple[]";
            readonly components: readonly [{
                readonly type: "uint8";
                readonly name: "assetType";
            }, {
                readonly type: "address";
                readonly name: "strategy";
            }, {
                readonly type: "address";
                readonly name: "token";
            }, {
                readonly type: "uint256";
                readonly name: "tokenId";
            }, {
                readonly type: "uint256";
                readonly name: "amount";
            }];
        }];
    }, {
        readonly name: "revalidate";
        readonly type: "function";
        readonly stateMutability: "view";
        readonly inputs: readonly [{
            readonly type: "tuple";
            readonly name: "asset";
            readonly components: readonly [{
                readonly type: "uint8";
                readonly name: "assetType";
            }, {
                readonly type: "address";
                readonly name: "strategy";
            }, {
                readonly type: "address";
                readonly name: "token";
            }, {
                readonly type: "uint256";
                readonly name: "tokenId";
            }, {
                readonly type: "uint256";
                readonly name: "amount";
            }];
        }, {
            readonly type: "tuple";
            readonly name: "config";
            readonly components: readonly [{
                readonly type: "bool";
                readonly name: "allowDeposit";
            }, {
                readonly type: "uint8";
                readonly name: "rangeStrategyType";
            }, {
                readonly type: "uint8";
                readonly name: "tvlStrategyType";
            }, {
                readonly type: "address";
                readonly name: "principalToken";
            }, {
                readonly type: "address[]";
                readonly name: "supportedAddresses";
            }];
        }];
        readonly outputs: readonly [];
    }, {
        readonly name: "valueOf";
        readonly type: "function";
        readonly stateMutability: "pure";
        readonly inputs: readonly [{
            readonly type: "tuple";
            readonly components: readonly [{
                readonly type: "uint8";
                readonly name: "assetType";
            }, {
                readonly type: "address";
                readonly name: "strategy";
            }, {
                readonly type: "address";
                readonly name: "token";
            }, {
                readonly type: "uint256";
                readonly name: "tokenId";
            }, {
                readonly type: "uint256";
                readonly name: "amount";
            }];
        }, {
            readonly type: "address";
        }];
        readonly outputs: readonly [{
            readonly type: "uint256";
        }];
    }, {
        readonly type: "receive";
        readonly stateMutability: "payable";
    }];
};

export { contract as default };
