import { Signer } from 'ethers-v5';
import type { Provider } from '@ethersproject/providers';
import type { CrosschainInterface, CrosschainInterfaceInterface } from '../CrosschainInterface';
export declare class CrosschainInterface__factory {
    static readonly abi: readonly [{
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "GARP_";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "defaultOwner";
            readonly type: "address";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "constructor";
    }, {
        readonly inputs: readonly [];
        readonly name: "ChainAlreadySetup";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidAddress";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidBytes65Address";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidCaller";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes1";
            readonly name: "context";
            readonly type: "bytes1";
        }];
        readonly name: "InvalidContext";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidSourceApplication";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "MaliciousVault";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "MaxUnderwriteDurationTooLong";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "MaxUnderwriteDurationTooShort";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "NoVaultConnection";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "expected";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "actual";
            readonly type: "uint256";
        }];
        readonly name: "NotEnoughIncentives";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "SubcallOutOfGas";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "SwapAlreadyUnderwritten";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "SwapRecentlyUnderwritten";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "identifier";
            readonly type: "bytes32";
        }];
        readonly name: "UnderwriteDoesNotExist";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "blocksUnitilExpiry";
            readonly type: "uint256";
        }];
        readonly name: "UnderwriteNotExpired";
        readonly type: "error";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "bytes32";
            readonly name: "identifier";
            readonly type: "bytes32";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "expirer";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "reward";
            readonly type: "uint256";
        }];
        readonly name: "ExpireUnderwrite";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "bytes32";
            readonly name: "identifier";
            readonly type: "bytes32";
        }];
        readonly name: "FulfillUnderwrite";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "newMaxUnderwriteDuration";
            readonly type: "uint256";
        }];
        readonly name: "MaxUnderwriteDuration";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "bytes32";
            readonly name: "identifier";
            readonly type: "bytes32";
        }, {
            readonly indexed: false;
            readonly internalType: "uint48";
            readonly name: "minGas";
            readonly type: "uint48";
        }];
        readonly name: "MinGasFor";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "bytes32";
            readonly name: "chainIdentifier";
            readonly type: "bytes32";
        }, {
            readonly indexed: false;
            readonly internalType: "bytes";
            readonly name: "remoteCCI";
            readonly type: "bytes";
        }, {
            readonly indexed: false;
            readonly internalType: "bytes";
            readonly name: "remoteGARP";
            readonly type: "bytes";
        }];
        readonly name: "RemoteImplementationSet";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "bytes1";
            readonly name: "error";
            readonly type: "bytes1";
        }];
        readonly name: "SwapFailed";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "bytes32";
            readonly name: "identifier";
            readonly type: "bytes32";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "underwriter";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint96";
            readonly name: "expiry";
            readonly type: "uint96";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "targetVault";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "toAsset";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "U";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "toAccount";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "outAmount";
            readonly type: "uint256";
        }];
        readonly name: "SwapUnderwritten";
        readonly type: "event";
    }, {
        readonly inputs: readonly [];
        readonly name: "EXPIRE_CALLER_REWARD";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "EXPIRE_CALLER_REWARD_DENOMINATOR";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "GARP";
        readonly outputs: readonly [{
            readonly internalType: "contract IIncentivizedMessageEscrow";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "UNDERWRITING_COLLATORAL";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "UNDERWRITING_COLLATORAL_DENOMINATOR";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "";
            readonly type: "bytes32";
        }];
        readonly name: "chainIdentifierToDestinationAddress";
        readonly outputs: readonly [{
            readonly internalType: "bytes";
            readonly name: "";
            readonly type: "bytes";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "chainIdentifier";
            readonly type: "bytes32";
        }, {
            readonly internalType: "bytes";
            readonly name: "remoteCCI";
            readonly type: "bytes";
        }, {
            readonly internalType: "bytes";
            readonly name: "remoteGARP";
            readonly type: "bytes";
        }];
        readonly name: "connectNewChain";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "evmAddress";
            readonly type: "address";
        }];
        readonly name: "convertEVMTo65";
        readonly outputs: readonly [{
            readonly internalType: "bytes";
            readonly name: "";
            readonly type: "bytes";
        }];
        readonly stateMutability: "pure";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "estimateAdditionalCost";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "asset";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "targetVault";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "toAsset";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "U";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "minOut";
            readonly type: "uint256";
        }, {
            readonly internalType: "address";
            readonly name: "toAccount";
            readonly type: "address";
        }, {
            readonly internalType: "uint16";
            readonly name: "underwriteIncentiveX16";
            readonly type: "uint16";
        }, {
            readonly internalType: "bytes";
            readonly name: "cdata";
            readonly type: "bytes";
        }];
        readonly name: "expireUnderwrite";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "targetVault";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "toAsset";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "U";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "minOut";
            readonly type: "uint256";
        }, {
            readonly internalType: "address";
            readonly name: "toAccount";
            readonly type: "address";
        }, {
            readonly internalType: "uint16";
            readonly name: "underwriteIncentiveX16";
            readonly type: "uint16";
        }, {
            readonly internalType: "bytes";
            readonly name: "cdata";
            readonly type: "bytes";
        }];
        readonly name: "getUnderwriteIdentifier";
        readonly outputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "identifier";
            readonly type: "bytes32";
        }];
        readonly stateMutability: "pure";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "maxUnderwritingDuration";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "";
            readonly type: "bytes32";
        }];
        readonly name: "minGasFor";
        readonly outputs: readonly [{
            readonly internalType: "uint48";
            readonly name: "";
            readonly type: "uint48";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "owner";
        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: "destinationIdentifier";
            readonly type: "bytes32";
        }, {
            readonly internalType: "bytes32";
            readonly name: "messageIdentifier";
            readonly type: "bytes32";
        }, {
            readonly internalType: "bytes";
            readonly name: "acknowledgement";
            readonly type: "bytes";
        }];
        readonly name: "receiveAck";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "sourceIdentifier";
            readonly type: "bytes32";
        }, {
            readonly internalType: "bytes32";
            readonly name: "";
            readonly type: "bytes32";
        }, {
            readonly internalType: "bytes";
            readonly name: "fromApplication";
            readonly type: "bytes";
        }, {
            readonly internalType: "bytes";
            readonly name: "message";
            readonly type: "bytes";
        }];
        readonly name: "receiveMessage";
        readonly outputs: readonly [{
            readonly internalType: "bytes";
            readonly name: "acknowledgement";
            readonly type: "bytes";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "renounceOwnership";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "newMaxUnderwriteDuration";
            readonly type: "uint256";
        }];
        readonly name: "setMaxUnderwritingDuration";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "chainIdentifier";
            readonly type: "bytes32";
        }, {
            readonly internalType: "uint48";
            readonly name: "minGas";
            readonly type: "uint48";
        }];
        readonly name: "setMinGasFor";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "thisBytes65";
        readonly outputs: readonly [{
            readonly internalType: "bytes";
            readonly name: "";
            readonly type: "bytes";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "newOwner";
            readonly type: "address";
        }];
        readonly name: "transferOwnership";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "targetVault";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "toAsset";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "U";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "minOut";
            readonly type: "uint256";
        }, {
            readonly internalType: "address";
            readonly name: "toAccount";
            readonly type: "address";
        }, {
            readonly internalType: "uint16";
            readonly name: "underwriteIncentiveX16";
            readonly type: "uint16";
        }, {
            readonly internalType: "bytes";
            readonly name: "cdata";
            readonly type: "bytes";
        }];
        readonly name: "underwrite";
        readonly outputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "identifier";
            readonly type: "bytes32";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "sourceIdentifier";
            readonly type: "bytes32";
        }, {
            readonly internalType: "bytes";
            readonly name: "fromVault";
            readonly type: "bytes";
        }, {
            readonly internalType: "address";
            readonly name: "targetVault";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "toAsset";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "U";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "minOut";
            readonly type: "uint256";
        }, {
            readonly internalType: "address";
            readonly name: "toAccount";
            readonly type: "address";
        }, {
            readonly internalType: "uint16";
            readonly name: "underwriteIncentiveX16";
            readonly type: "uint16";
        }, {
            readonly internalType: "bytes";
            readonly name: "cdata";
            readonly type: "bytes";
        }];
        readonly name: "underwriteAndCheckConnection";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "";
            readonly type: "bytes32";
        }];
        readonly name: "underwritingStorage";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "tokens";
            readonly type: "uint256";
        }, {
            readonly internalType: "address";
            readonly name: "refundTo";
            readonly type: "address";
        }, {
            readonly internalType: "uint96";
            readonly name: "expiry";
            readonly type: "uint96";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }];
    static createInterface(): CrosschainInterfaceInterface;
    static connect(address: string, signerOrProvider: Signer | Provider): CrosschainInterface;
}
//# sourceMappingURL=CrosschainInterface__factory.d.ts.map