/**
 * ABI for the IIntentSource contract
 */
export declare const IIntentSourceAbi: readonly [{
    readonly inputs: readonly [];
    readonly name: "ArrayLengthMismatch";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "intentHash";
        readonly type: "bytes32";
    }];
    readonly name: "CannotFundForWithNativeReward";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "intentHash";
        readonly type: "bytes32";
    }];
    readonly name: "InsufficientNativeReward";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "token";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "spender";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "amount";
        readonly type: "uint256";
    }];
    readonly name: "InsufficientTokenAllowance";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "intentHash";
        readonly type: "bytes32";
    }];
    readonly name: "IntentAlreadyExists";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "intentHash";
        readonly type: "bytes32";
    }];
    readonly name: "IntentAlreadyFunded";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "intentHash";
        readonly type: "bytes32";
    }];
    readonly name: "IntentNotClaimed";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "intentHash";
        readonly type: "bytes32";
    }];
    readonly name: "IntentNotExpired";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "InvalidRefundToken";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "intentHash";
        readonly type: "bytes32";
    }];
    readonly name: "NativeRewardTransferFailed";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "hash";
        readonly type: "bytes32";
    }];
    readonly name: "RewardsAlreadyWithdrawn";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "hash";
        readonly type: "bytes32";
    }];
    readonly name: "UnauthorizedWithdrawal";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "intentHash";
        readonly type: "bytes32";
    }];
    readonly name: "WrongSourceChain";
    readonly type: "error";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "hash";
        readonly type: "bytes32";
    }, {
        readonly indexed: false;
        readonly internalType: "bytes32";
        readonly name: "salt";
        readonly type: "bytes32";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "source";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "destination";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "address";
        readonly name: "inbox";
        readonly type: "address";
    }, {
        readonly components: readonly [{
            readonly internalType: "address";
            readonly name: "token";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }];
        readonly indexed: false;
        readonly internalType: "struct TokenAmount[]";
        readonly name: "routeTokens";
        readonly type: "tuple[]";
    }, {
        readonly components: readonly [{
            readonly internalType: "address";
            readonly name: "target";
            readonly type: "address";
        }, {
            readonly internalType: "bytes";
            readonly name: "data";
            readonly type: "bytes";
        }, {
            readonly internalType: "uint256";
            readonly name: "value";
            readonly type: "uint256";
        }];
        readonly indexed: false;
        readonly internalType: "struct Call[]";
        readonly name: "calls";
        readonly type: "tuple[]";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "creator";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "prover";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "deadline";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "nativeValue";
        readonly type: "uint256";
    }, {
        readonly components: readonly [{
            readonly internalType: "address";
            readonly name: "token";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }];
        readonly indexed: false;
        readonly internalType: "struct TokenAmount[]";
        readonly name: "rewardTokens";
        readonly type: "tuple[]";
    }];
    readonly name: "IntentCreated";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "bytes32";
        readonly name: "intentHash";
        readonly type: "bytes32";
    }, {
        readonly indexed: false;
        readonly internalType: "address";
        readonly name: "funder";
        readonly type: "address";
    }];
    readonly name: "IntentFunded";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "bytes32";
        readonly name: "intentHash";
        readonly type: "bytes32";
    }, {
        readonly indexed: false;
        readonly internalType: "address";
        readonly name: "funder";
        readonly type: "address";
    }];
    readonly name: "IntentPartiallyFunded";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "bytes32";
        readonly name: "intentHash";
        readonly type: "bytes32";
    }];
    readonly name: "IntentProofChallenged";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "bytes32";
        readonly name: "hash";
        readonly type: "bytes32";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "recipient";
        readonly type: "address";
    }];
    readonly name: "Refund";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "bytes32";
        readonly name: "hash";
        readonly type: "bytes32";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "recipient";
        readonly type: "address";
    }];
    readonly name: "Withdrawal";
    readonly type: "event";
}, {
    readonly inputs: readonly [{
        readonly components: readonly [{
            readonly components: readonly [{
                readonly internalType: "bytes32";
                readonly name: "salt";
                readonly type: "bytes32";
            }, {
                readonly internalType: "uint256";
                readonly name: "source";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "destination";
                readonly type: "uint256";
            }, {
                readonly internalType: "address";
                readonly name: "inbox";
                readonly type: "address";
            }, {
                readonly components: readonly [{
                    readonly internalType: "address";
                    readonly name: "token";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct TokenAmount[]";
                readonly name: "tokens";
                readonly type: "tuple[]";
            }, {
                readonly components: readonly [{
                    readonly internalType: "address";
                    readonly name: "target";
                    readonly type: "address";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "data";
                    readonly type: "bytes";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "value";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct Call[]";
                readonly name: "calls";
                readonly type: "tuple[]";
            }];
            readonly internalType: "struct Route";
            readonly name: "route";
            readonly type: "tuple";
        }, {
            readonly components: readonly [{
                readonly internalType: "address";
                readonly name: "creator";
                readonly type: "address";
            }, {
                readonly internalType: "address";
                readonly name: "prover";
                readonly type: "address";
            }, {
                readonly internalType: "uint256";
                readonly name: "deadline";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "nativeValue";
                readonly type: "uint256";
            }, {
                readonly components: readonly [{
                    readonly internalType: "address";
                    readonly name: "token";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct TokenAmount[]";
                readonly name: "tokens";
                readonly type: "tuple[]";
            }];
            readonly internalType: "struct Reward";
            readonly name: "reward";
            readonly type: "tuple";
        }];
        readonly internalType: "struct Intent[]";
        readonly name: "_intents";
        readonly type: "tuple[]";
    }];
    readonly name: "batchWithdraw";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "routeHash";
        readonly type: "bytes32";
    }, {
        readonly components: readonly [{
            readonly internalType: "address";
            readonly name: "creator";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "prover";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "deadline";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "nativeValue";
            readonly type: "uint256";
        }, {
            readonly components: readonly [{
                readonly internalType: "address";
                readonly name: "token";
                readonly type: "address";
            }, {
                readonly internalType: "uint256";
                readonly name: "amount";
                readonly type: "uint256";
            }];
            readonly internalType: "struct TokenAmount[]";
            readonly name: "tokens";
            readonly type: "tuple[]";
        }];
        readonly internalType: "struct Reward";
        readonly name: "reward";
        readonly type: "tuple";
    }, {
        readonly internalType: "bool";
        readonly name: "allowPartial";
        readonly type: "bool";
    }];
    readonly name: "fund";
    readonly outputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "intentHash";
        readonly type: "bytes32";
    }];
    readonly stateMutability: "payable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "routeHash";
        readonly type: "bytes32";
    }, {
        readonly components: readonly [{
            readonly internalType: "address";
            readonly name: "creator";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "prover";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "deadline";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "nativeValue";
            readonly type: "uint256";
        }, {
            readonly components: readonly [{
                readonly internalType: "address";
                readonly name: "token";
                readonly type: "address";
            }, {
                readonly internalType: "uint256";
                readonly name: "amount";
                readonly type: "uint256";
            }];
            readonly internalType: "struct TokenAmount[]";
            readonly name: "tokens";
            readonly type: "tuple[]";
        }];
        readonly internalType: "struct Reward";
        readonly name: "reward";
        readonly type: "tuple";
    }, {
        readonly internalType: "address";
        readonly name: "fundingAddress";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "permitContract";
        readonly type: "address";
    }, {
        readonly internalType: "bool";
        readonly name: "allowPartial";
        readonly type: "bool";
    }];
    readonly name: "fundFor";
    readonly outputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "intentHash";
        readonly type: "bytes32";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly components: readonly [{
            readonly components: readonly [{
                readonly internalType: "bytes32";
                readonly name: "salt";
                readonly type: "bytes32";
            }, {
                readonly internalType: "uint256";
                readonly name: "source";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "destination";
                readonly type: "uint256";
            }, {
                readonly internalType: "address";
                readonly name: "inbox";
                readonly type: "address";
            }, {
                readonly components: readonly [{
                    readonly internalType: "address";
                    readonly name: "token";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct TokenAmount[]";
                readonly name: "tokens";
                readonly type: "tuple[]";
            }, {
                readonly components: readonly [{
                    readonly internalType: "address";
                    readonly name: "target";
                    readonly type: "address";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "data";
                    readonly type: "bytes";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "value";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct Call[]";
                readonly name: "calls";
                readonly type: "tuple[]";
            }];
            readonly internalType: "struct Route";
            readonly name: "route";
            readonly type: "tuple";
        }, {
            readonly components: readonly [{
                readonly internalType: "address";
                readonly name: "creator";
                readonly type: "address";
            }, {
                readonly internalType: "address";
                readonly name: "prover";
                readonly type: "address";
            }, {
                readonly internalType: "uint256";
                readonly name: "deadline";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "nativeValue";
                readonly type: "uint256";
            }, {
                readonly components: readonly [{
                    readonly internalType: "address";
                    readonly name: "token";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct TokenAmount[]";
                readonly name: "tokens";
                readonly type: "tuple[]";
            }];
            readonly internalType: "struct Reward";
            readonly name: "reward";
            readonly type: "tuple";
        }];
        readonly internalType: "struct Intent";
        readonly name: "intent";
        readonly type: "tuple";
    }];
    readonly name: "getIntentHash";
    readonly outputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "intentHash";
        readonly type: "bytes32";
    }, {
        readonly internalType: "bytes32";
        readonly name: "routeHash";
        readonly type: "bytes32";
    }, {
        readonly internalType: "bytes32";
        readonly name: "rewardHash";
        readonly type: "bytes32";
    }];
    readonly stateMutability: "pure";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "intentHash";
        readonly type: "bytes32";
    }];
    readonly name: "getPermitContract";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "intentHash";
        readonly type: "bytes32";
    }];
    readonly name: "getRewardStatus";
    readonly outputs: readonly [{
        readonly internalType: "enum IVaultStorage.RewardStatus";
        readonly name: "status";
        readonly type: "uint8";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "intentHash";
        readonly type: "bytes32";
    }];
    readonly name: "getVaultState";
    readonly outputs: readonly [{
        readonly components: readonly [{
            readonly internalType: "uint8";
            readonly name: "status";
            readonly type: "uint8";
        }, {
            readonly internalType: "uint8";
            readonly name: "mode";
            readonly type: "uint8";
        }, {
            readonly internalType: "uint8";
            readonly name: "allowPartialFunding";
            readonly type: "uint8";
        }, {
            readonly internalType: "uint8";
            readonly name: "usePermit";
            readonly type: "uint8";
        }, {
            readonly internalType: "address";
            readonly name: "target";
            readonly type: "address";
        }];
        readonly internalType: "struct IVaultStorage.VaultState";
        readonly name: "";
        readonly type: "tuple";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly components: readonly [{
            readonly components: readonly [{
                readonly internalType: "bytes32";
                readonly name: "salt";
                readonly type: "bytes32";
            }, {
                readonly internalType: "uint256";
                readonly name: "source";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "destination";
                readonly type: "uint256";
            }, {
                readonly internalType: "address";
                readonly name: "inbox";
                readonly type: "address";
            }, {
                readonly components: readonly [{
                    readonly internalType: "address";
                    readonly name: "token";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct TokenAmount[]";
                readonly name: "tokens";
                readonly type: "tuple[]";
            }, {
                readonly components: readonly [{
                    readonly internalType: "address";
                    readonly name: "target";
                    readonly type: "address";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "data";
                    readonly type: "bytes";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "value";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct Call[]";
                readonly name: "calls";
                readonly type: "tuple[]";
            }];
            readonly internalType: "struct Route";
            readonly name: "route";
            readonly type: "tuple";
        }, {
            readonly components: readonly [{
                readonly internalType: "address";
                readonly name: "creator";
                readonly type: "address";
            }, {
                readonly internalType: "address";
                readonly name: "prover";
                readonly type: "address";
            }, {
                readonly internalType: "uint256";
                readonly name: "deadline";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "nativeValue";
                readonly type: "uint256";
            }, {
                readonly components: readonly [{
                    readonly internalType: "address";
                    readonly name: "token";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct TokenAmount[]";
                readonly name: "tokens";
                readonly type: "tuple[]";
            }];
            readonly internalType: "struct Reward";
            readonly name: "reward";
            readonly type: "tuple";
        }];
        readonly internalType: "struct Intent";
        readonly name: "intent";
        readonly type: "tuple";
    }];
    readonly name: "intentVaultAddress";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly components: readonly [{
            readonly components: readonly [{
                readonly internalType: "bytes32";
                readonly name: "salt";
                readonly type: "bytes32";
            }, {
                readonly internalType: "uint256";
                readonly name: "source";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "destination";
                readonly type: "uint256";
            }, {
                readonly internalType: "address";
                readonly name: "inbox";
                readonly type: "address";
            }, {
                readonly components: readonly [{
                    readonly internalType: "address";
                    readonly name: "token";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct TokenAmount[]";
                readonly name: "tokens";
                readonly type: "tuple[]";
            }, {
                readonly components: readonly [{
                    readonly internalType: "address";
                    readonly name: "target";
                    readonly type: "address";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "data";
                    readonly type: "bytes";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "value";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct Call[]";
                readonly name: "calls";
                readonly type: "tuple[]";
            }];
            readonly internalType: "struct Route";
            readonly name: "route";
            readonly type: "tuple";
        }, {
            readonly components: readonly [{
                readonly internalType: "address";
                readonly name: "creator";
                readonly type: "address";
            }, {
                readonly internalType: "address";
                readonly name: "prover";
                readonly type: "address";
            }, {
                readonly internalType: "uint256";
                readonly name: "deadline";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "nativeValue";
                readonly type: "uint256";
            }, {
                readonly components: readonly [{
                    readonly internalType: "address";
                    readonly name: "token";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct TokenAmount[]";
                readonly name: "tokens";
                readonly type: "tuple[]";
            }];
            readonly internalType: "struct Reward";
            readonly name: "reward";
            readonly type: "tuple";
        }];
        readonly internalType: "struct Intent";
        readonly name: "intent";
        readonly type: "tuple";
    }];
    readonly name: "isIntentFunded";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly components: readonly [{
            readonly components: readonly [{
                readonly internalType: "bytes32";
                readonly name: "salt";
                readonly type: "bytes32";
            }, {
                readonly internalType: "uint256";
                readonly name: "source";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "destination";
                readonly type: "uint256";
            }, {
                readonly internalType: "address";
                readonly name: "inbox";
                readonly type: "address";
            }, {
                readonly components: readonly [{
                    readonly internalType: "address";
                    readonly name: "token";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct TokenAmount[]";
                readonly name: "tokens";
                readonly type: "tuple[]";
            }, {
                readonly components: readonly [{
                    readonly internalType: "address";
                    readonly name: "target";
                    readonly type: "address";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "data";
                    readonly type: "bytes";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "value";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct Call[]";
                readonly name: "calls";
                readonly type: "tuple[]";
            }];
            readonly internalType: "struct Route";
            readonly name: "route";
            readonly type: "tuple";
        }, {
            readonly components: readonly [{
                readonly internalType: "address";
                readonly name: "creator";
                readonly type: "address";
            }, {
                readonly internalType: "address";
                readonly name: "prover";
                readonly type: "address";
            }, {
                readonly internalType: "uint256";
                readonly name: "deadline";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "nativeValue";
                readonly type: "uint256";
            }, {
                readonly components: readonly [{
                    readonly internalType: "address";
                    readonly name: "token";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct TokenAmount[]";
                readonly name: "tokens";
                readonly type: "tuple[]";
            }];
            readonly internalType: "struct Reward";
            readonly name: "reward";
            readonly type: "tuple";
        }];
        readonly internalType: "struct Intent";
        readonly name: "intent";
        readonly type: "tuple";
    }];
    readonly name: "publish";
    readonly outputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "intentHash";
        readonly type: "bytes32";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly components: readonly [{
            readonly components: readonly [{
                readonly internalType: "bytes32";
                readonly name: "salt";
                readonly type: "bytes32";
            }, {
                readonly internalType: "uint256";
                readonly name: "source";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "destination";
                readonly type: "uint256";
            }, {
                readonly internalType: "address";
                readonly name: "inbox";
                readonly type: "address";
            }, {
                readonly components: readonly [{
                    readonly internalType: "address";
                    readonly name: "token";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct TokenAmount[]";
                readonly name: "tokens";
                readonly type: "tuple[]";
            }, {
                readonly components: readonly [{
                    readonly internalType: "address";
                    readonly name: "target";
                    readonly type: "address";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "data";
                    readonly type: "bytes";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "value";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct Call[]";
                readonly name: "calls";
                readonly type: "tuple[]";
            }];
            readonly internalType: "struct Route";
            readonly name: "route";
            readonly type: "tuple";
        }, {
            readonly components: readonly [{
                readonly internalType: "address";
                readonly name: "creator";
                readonly type: "address";
            }, {
                readonly internalType: "address";
                readonly name: "prover";
                readonly type: "address";
            }, {
                readonly internalType: "uint256";
                readonly name: "deadline";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "nativeValue";
                readonly type: "uint256";
            }, {
                readonly components: readonly [{
                    readonly internalType: "address";
                    readonly name: "token";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct TokenAmount[]";
                readonly name: "tokens";
                readonly type: "tuple[]";
            }];
            readonly internalType: "struct Reward";
            readonly name: "reward";
            readonly type: "tuple";
        }];
        readonly internalType: "struct Intent";
        readonly name: "intent";
        readonly type: "tuple";
    }, {
        readonly internalType: "bool";
        readonly name: "allowPartial";
        readonly type: "bool";
    }];
    readonly name: "publishAndFund";
    readonly outputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "intentHash";
        readonly type: "bytes32";
    }];
    readonly stateMutability: "payable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly components: readonly [{
            readonly components: readonly [{
                readonly internalType: "bytes32";
                readonly name: "salt";
                readonly type: "bytes32";
            }, {
                readonly internalType: "uint256";
                readonly name: "source";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "destination";
                readonly type: "uint256";
            }, {
                readonly internalType: "address";
                readonly name: "inbox";
                readonly type: "address";
            }, {
                readonly components: readonly [{
                    readonly internalType: "address";
                    readonly name: "token";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct TokenAmount[]";
                readonly name: "tokens";
                readonly type: "tuple[]";
            }, {
                readonly components: readonly [{
                    readonly internalType: "address";
                    readonly name: "target";
                    readonly type: "address";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "data";
                    readonly type: "bytes";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "value";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct Call[]";
                readonly name: "calls";
                readonly type: "tuple[]";
            }];
            readonly internalType: "struct Route";
            readonly name: "route";
            readonly type: "tuple";
        }, {
            readonly components: readonly [{
                readonly internalType: "address";
                readonly name: "creator";
                readonly type: "address";
            }, {
                readonly internalType: "address";
                readonly name: "prover";
                readonly type: "address";
            }, {
                readonly internalType: "uint256";
                readonly name: "deadline";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "nativeValue";
                readonly type: "uint256";
            }, {
                readonly components: readonly [{
                    readonly internalType: "address";
                    readonly name: "token";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct TokenAmount[]";
                readonly name: "tokens";
                readonly type: "tuple[]";
            }];
            readonly internalType: "struct Reward";
            readonly name: "reward";
            readonly type: "tuple";
        }];
        readonly internalType: "struct Intent";
        readonly name: "intent";
        readonly type: "tuple";
    }, {
        readonly internalType: "address";
        readonly name: "funder";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "permitContract";
        readonly type: "address";
    }, {
        readonly internalType: "bool";
        readonly name: "allowPartial";
        readonly type: "bool";
    }];
    readonly name: "publishAndFundFor";
    readonly outputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "intentHash";
        readonly type: "bytes32";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "routeHash";
        readonly type: "bytes32";
    }, {
        readonly components: readonly [{
            readonly internalType: "address";
            readonly name: "creator";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "prover";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "deadline";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "nativeValue";
            readonly type: "uint256";
        }, {
            readonly components: readonly [{
                readonly internalType: "address";
                readonly name: "token";
                readonly type: "address";
            }, {
                readonly internalType: "uint256";
                readonly name: "amount";
                readonly type: "uint256";
            }];
            readonly internalType: "struct TokenAmount[]";
            readonly name: "tokens";
            readonly type: "tuple[]";
        }];
        readonly internalType: "struct Reward";
        readonly name: "reward";
        readonly type: "tuple";
    }, {
        readonly internalType: "address";
        readonly name: "token";
        readonly type: "address";
    }];
    readonly name: "recoverToken";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly components: readonly [{
            readonly components: readonly [{
                readonly internalType: "bytes32";
                readonly name: "salt";
                readonly type: "bytes32";
            }, {
                readonly internalType: "uint256";
                readonly name: "source";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "destination";
                readonly type: "uint256";
            }, {
                readonly internalType: "address";
                readonly name: "inbox";
                readonly type: "address";
            }, {
                readonly components: readonly [{
                    readonly internalType: "address";
                    readonly name: "token";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct TokenAmount[]";
                readonly name: "tokens";
                readonly type: "tuple[]";
            }, {
                readonly components: readonly [{
                    readonly internalType: "address";
                    readonly name: "target";
                    readonly type: "address";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "data";
                    readonly type: "bytes";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "value";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct Call[]";
                readonly name: "calls";
                readonly type: "tuple[]";
            }];
            readonly internalType: "struct Route";
            readonly name: "route";
            readonly type: "tuple";
        }, {
            readonly components: readonly [{
                readonly internalType: "address";
                readonly name: "creator";
                readonly type: "address";
            }, {
                readonly internalType: "address";
                readonly name: "prover";
                readonly type: "address";
            }, {
                readonly internalType: "uint256";
                readonly name: "deadline";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "nativeValue";
                readonly type: "uint256";
            }, {
                readonly components: readonly [{
                    readonly internalType: "address";
                    readonly name: "token";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct TokenAmount[]";
                readonly name: "tokens";
                readonly type: "tuple[]";
            }];
            readonly internalType: "struct Reward";
            readonly name: "reward";
            readonly type: "tuple";
        }];
        readonly internalType: "struct Intent";
        readonly name: "_intent";
        readonly type: "tuple";
    }];
    readonly name: "refund";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "version";
    readonly outputs: readonly [{
        readonly internalType: "string";
        readonly name: "";
        readonly type: "string";
    }];
    readonly stateMutability: "pure";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly components: readonly [{
            readonly components: readonly [{
                readonly internalType: "bytes32";
                readonly name: "salt";
                readonly type: "bytes32";
            }, {
                readonly internalType: "uint256";
                readonly name: "source";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "destination";
                readonly type: "uint256";
            }, {
                readonly internalType: "address";
                readonly name: "inbox";
                readonly type: "address";
            }, {
                readonly components: readonly [{
                    readonly internalType: "address";
                    readonly name: "token";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct TokenAmount[]";
                readonly name: "tokens";
                readonly type: "tuple[]";
            }, {
                readonly components: readonly [{
                    readonly internalType: "address";
                    readonly name: "target";
                    readonly type: "address";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "data";
                    readonly type: "bytes";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "value";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct Call[]";
                readonly name: "calls";
                readonly type: "tuple[]";
            }];
            readonly internalType: "struct Route";
            readonly name: "route";
            readonly type: "tuple";
        }, {
            readonly components: readonly [{
                readonly internalType: "address";
                readonly name: "creator";
                readonly type: "address";
            }, {
                readonly internalType: "address";
                readonly name: "prover";
                readonly type: "address";
            }, {
                readonly internalType: "uint256";
                readonly name: "deadline";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "nativeValue";
                readonly type: "uint256";
            }, {
                readonly components: readonly [{
                    readonly internalType: "address";
                    readonly name: "token";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct TokenAmount[]";
                readonly name: "tokens";
                readonly type: "tuple[]";
            }];
            readonly internalType: "struct Reward";
            readonly name: "reward";
            readonly type: "tuple";
        }];
        readonly internalType: "struct Intent";
        readonly name: "_intent";
        readonly type: "tuple";
    }];
    readonly name: "withdrawRewards";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}];
/**
 * Type-safe ABI for the IIntentSource contract
 */
export type IIntentSourceAbiType = typeof IIntentSourceAbi;
/**
 * Bytecode for the IIntentSource contract
 */
export declare const IIntentSourceBytecode = "0x";
/**
 * Deployed bytecode for the IIntentSource contract
 */
export declare const IIntentSourceDeployedBytecode = "0x";
