import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from 'ethers-v5';
import type { FunctionFragment, Result, EventFragment } from '@ethersproject/abi';
import type { Listener, Provider } from '@ethersproject/providers';
import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from './common';
export interface CrosschainInterfaceInterface extends utils.Interface {
    functions: {
        'EXPIRE_CALLER_REWARD()': FunctionFragment;
        'EXPIRE_CALLER_REWARD_DENOMINATOR()': FunctionFragment;
        'GARP()': FunctionFragment;
        'UNDERWRITING_COLLATORAL()': FunctionFragment;
        'UNDERWRITING_COLLATORAL_DENOMINATOR()': FunctionFragment;
        'chainIdentifierToDestinationAddress(bytes32)': FunctionFragment;
        'connectNewChain(bytes32,bytes,bytes)': FunctionFragment;
        'convertEVMTo65(address)': FunctionFragment;
        'estimateAdditionalCost()': FunctionFragment;
        'expireUnderwrite(address,address,uint256,uint256,address,uint16,bytes)': FunctionFragment;
        'getUnderwriteIdentifier(address,address,uint256,uint256,address,uint16,bytes)': FunctionFragment;
        'maxUnderwritingDuration()': FunctionFragment;
        'minGasFor(bytes32)': FunctionFragment;
        'owner()': FunctionFragment;
        'receiveAck(bytes32,bytes32,bytes)': FunctionFragment;
        'receiveMessage(bytes32,bytes32,bytes,bytes)': FunctionFragment;
        'renounceOwnership()': FunctionFragment;
        'setMaxUnderwritingDuration(uint256)': FunctionFragment;
        'setMinGasFor(bytes32,uint48)': FunctionFragment;
        'thisBytes65()': FunctionFragment;
        'transferOwnership(address)': FunctionFragment;
        'underwrite(address,address,uint256,uint256,address,uint16,bytes)': FunctionFragment;
        'underwriteAndCheckConnection(bytes32,bytes,address,address,uint256,uint256,address,uint16,bytes)': FunctionFragment;
        'underwritingStorage(bytes32)': FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: 'EXPIRE_CALLER_REWARD' | 'EXPIRE_CALLER_REWARD_DENOMINATOR' | 'GARP' | 'UNDERWRITING_COLLATORAL' | 'UNDERWRITING_COLLATORAL_DENOMINATOR' | 'chainIdentifierToDestinationAddress' | 'connectNewChain' | 'convertEVMTo65' | 'estimateAdditionalCost' | 'expireUnderwrite' | 'getUnderwriteIdentifier' | 'maxUnderwritingDuration' | 'minGasFor' | 'owner' | 'receiveAck' | 'receiveMessage' | 'renounceOwnership' | 'setMaxUnderwritingDuration' | 'setMinGasFor' | 'thisBytes65' | 'transferOwnership' | 'underwrite' | 'underwriteAndCheckConnection' | 'underwritingStorage'): FunctionFragment;
    encodeFunctionData(functionFragment: 'EXPIRE_CALLER_REWARD', values?: undefined): string;
    encodeFunctionData(functionFragment: 'EXPIRE_CALLER_REWARD_DENOMINATOR', values?: undefined): string;
    encodeFunctionData(functionFragment: 'GARP', values?: undefined): string;
    encodeFunctionData(functionFragment: 'UNDERWRITING_COLLATORAL', values?: undefined): string;
    encodeFunctionData(functionFragment: 'UNDERWRITING_COLLATORAL_DENOMINATOR', values?: undefined): string;
    encodeFunctionData(functionFragment: 'chainIdentifierToDestinationAddress', values: [BytesLike]): string;
    encodeFunctionData(functionFragment: 'connectNewChain', values: [BytesLike, BytesLike, BytesLike]): string;
    encodeFunctionData(functionFragment: 'convertEVMTo65', values: [string]): string;
    encodeFunctionData(functionFragment: 'estimateAdditionalCost', values?: undefined): string;
    encodeFunctionData(functionFragment: 'expireUnderwrite', values: [
        string,
        string,
        BigNumberish,
        BigNumberish,
        string,
        BigNumberish,
        BytesLike
    ]): string;
    encodeFunctionData(functionFragment: 'getUnderwriteIdentifier', values: [
        string,
        string,
        BigNumberish,
        BigNumberish,
        string,
        BigNumberish,
        BytesLike
    ]): string;
    encodeFunctionData(functionFragment: 'maxUnderwritingDuration', values?: undefined): string;
    encodeFunctionData(functionFragment: 'minGasFor', values: [BytesLike]): string;
    encodeFunctionData(functionFragment: 'owner', values?: undefined): string;
    encodeFunctionData(functionFragment: 'receiveAck', values: [BytesLike, BytesLike, BytesLike]): string;
    encodeFunctionData(functionFragment: 'receiveMessage', values: [BytesLike, BytesLike, BytesLike, BytesLike]): string;
    encodeFunctionData(functionFragment: 'renounceOwnership', values?: undefined): string;
    encodeFunctionData(functionFragment: 'setMaxUnderwritingDuration', values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: 'setMinGasFor', values: [BytesLike, BigNumberish]): string;
    encodeFunctionData(functionFragment: 'thisBytes65', values?: undefined): string;
    encodeFunctionData(functionFragment: 'transferOwnership', values: [string]): string;
    encodeFunctionData(functionFragment: 'underwrite', values: [
        string,
        string,
        BigNumberish,
        BigNumberish,
        string,
        BigNumberish,
        BytesLike
    ]): string;
    encodeFunctionData(functionFragment: 'underwriteAndCheckConnection', values: [
        BytesLike,
        BytesLike,
        string,
        string,
        BigNumberish,
        BigNumberish,
        string,
        BigNumberish,
        BytesLike
    ]): string;
    encodeFunctionData(functionFragment: 'underwritingStorage', values: [BytesLike]): string;
    decodeFunctionResult(functionFragment: 'EXPIRE_CALLER_REWARD', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'EXPIRE_CALLER_REWARD_DENOMINATOR', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'GARP', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'UNDERWRITING_COLLATORAL', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'UNDERWRITING_COLLATORAL_DENOMINATOR', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'chainIdentifierToDestinationAddress', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'connectNewChain', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'convertEVMTo65', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'estimateAdditionalCost', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'expireUnderwrite', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getUnderwriteIdentifier', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'maxUnderwritingDuration', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'minGasFor', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'owner', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'receiveAck', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'receiveMessage', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'renounceOwnership', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setMaxUnderwritingDuration', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setMinGasFor', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'thisBytes65', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'transferOwnership', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'underwrite', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'underwriteAndCheckConnection', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'underwritingStorage', data: BytesLike): Result;
    events: {
        'ExpireUnderwrite(bytes32,address,uint256)': EventFragment;
        'FulfillUnderwrite(bytes32)': EventFragment;
        'MaxUnderwriteDuration(uint256)': EventFragment;
        'MinGasFor(bytes32,uint48)': EventFragment;
        'RemoteImplementationSet(bytes32,bytes,bytes)': EventFragment;
        'SwapFailed(bytes1)': EventFragment;
        'SwapUnderwritten(bytes32,address,uint96,address,address,uint256,address,uint256)': EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: 'ExpireUnderwrite'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'FulfillUnderwrite'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'MaxUnderwriteDuration'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'MinGasFor'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'RemoteImplementationSet'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'SwapFailed'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'SwapUnderwritten'): EventFragment;
}
export interface ExpireUnderwriteEventObject {
    identifier: string;
    expirer: string;
    reward: BigNumber;
}
export type ExpireUnderwriteEvent = TypedEvent<[
    string,
    string,
    BigNumber
], ExpireUnderwriteEventObject>;
export type ExpireUnderwriteEventFilter = TypedEventFilter<ExpireUnderwriteEvent>;
export interface FulfillUnderwriteEventObject {
    identifier: string;
}
export type FulfillUnderwriteEvent = TypedEvent<[
    string
], FulfillUnderwriteEventObject>;
export type FulfillUnderwriteEventFilter = TypedEventFilter<FulfillUnderwriteEvent>;
export interface MaxUnderwriteDurationEventObject {
    newMaxUnderwriteDuration: BigNumber;
}
export type MaxUnderwriteDurationEvent = TypedEvent<[
    BigNumber
], MaxUnderwriteDurationEventObject>;
export type MaxUnderwriteDurationEventFilter = TypedEventFilter<MaxUnderwriteDurationEvent>;
export interface MinGasForEventObject {
    identifier: string;
    minGas: number;
}
export type MinGasForEvent = TypedEvent<[string, number], MinGasForEventObject>;
export type MinGasForEventFilter = TypedEventFilter<MinGasForEvent>;
export interface RemoteImplementationSetEventObject {
    chainIdentifier: string;
    remoteCCI: string;
    remoteGARP: string;
}
export type RemoteImplementationSetEvent = TypedEvent<[
    string,
    string,
    string
], RemoteImplementationSetEventObject>;
export type RemoteImplementationSetEventFilter = TypedEventFilter<RemoteImplementationSetEvent>;
export interface SwapFailedEventObject {
    error: string;
}
export type SwapFailedEvent = TypedEvent<[string], SwapFailedEventObject>;
export type SwapFailedEventFilter = TypedEventFilter<SwapFailedEvent>;
export interface SwapUnderwrittenEventObject {
    identifier: string;
    underwriter: string;
    expiry: BigNumber;
    targetVault: string;
    toAsset: string;
    U: BigNumber;
    toAccount: string;
    outAmount: BigNumber;
}
export type SwapUnderwrittenEvent = TypedEvent<[
    string,
    string,
    BigNumber,
    string,
    string,
    BigNumber,
    string,
    BigNumber
], SwapUnderwrittenEventObject>;
export type SwapUnderwrittenEventFilter = TypedEventFilter<SwapUnderwrittenEvent>;
export interface CrosschainInterface extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: CrosschainInterfaceInterface;
    queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
    listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
    listeners(eventName?: string): Array<Listener>;
    removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
    removeAllListeners(eventName?: string): this;
    off: OnEvent<this>;
    on: OnEvent<this>;
    once: OnEvent<this>;
    removeListener: OnEvent<this>;
    functions: {
        EXPIRE_CALLER_REWARD(overrides?: CallOverrides): Promise<[BigNumber]>;
        EXPIRE_CALLER_REWARD_DENOMINATOR(overrides?: CallOverrides): Promise<[BigNumber]>;
        GARP(overrides?: CallOverrides): Promise<[string]>;
        UNDERWRITING_COLLATORAL(overrides?: CallOverrides): Promise<[BigNumber]>;
        UNDERWRITING_COLLATORAL_DENOMINATOR(overrides?: CallOverrides): Promise<[BigNumber]>;
        chainIdentifierToDestinationAddress(arg0: BytesLike, overrides?: CallOverrides): Promise<[string]>;
        connectNewChain(chainIdentifier: BytesLike, remoteCCI: BytesLike, remoteGARP: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        convertEVMTo65(evmAddress: string, overrides?: CallOverrides): Promise<[string]>;
        estimateAdditionalCost(overrides?: CallOverrides): Promise<[string, BigNumber] & {
            asset: string;
            amount: BigNumber;
        }>;
        expireUnderwrite(targetVault: string, toAsset: string, U: BigNumberish, minOut: BigNumberish, toAccount: string, underwriteIncentiveX16: BigNumberish, cdata: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        getUnderwriteIdentifier(targetVault: string, toAsset: string, U: BigNumberish, minOut: BigNumberish, toAccount: string, underwriteIncentiveX16: BigNumberish, cdata: BytesLike, overrides?: CallOverrides): Promise<[string] & {
            identifier: string;
        }>;
        maxUnderwritingDuration(overrides?: CallOverrides): Promise<[BigNumber]>;
        minGasFor(arg0: BytesLike, overrides?: CallOverrides): Promise<[number]>;
        owner(overrides?: CallOverrides): Promise<[string]>;
        receiveAck(destinationIdentifier: BytesLike, messageIdentifier: BytesLike, acknowledgement: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        receiveMessage(sourceIdentifier: BytesLike, arg1: BytesLike, fromApplication: BytesLike, message: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        renounceOwnership(overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        setMaxUnderwritingDuration(newMaxUnderwriteDuration: BigNumberish, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        setMinGasFor(chainIdentifier: BytesLike, minGas: BigNumberish, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        thisBytes65(overrides?: CallOverrides): Promise<[string]>;
        transferOwnership(newOwner: string, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        underwrite(targetVault: string, toAsset: string, U: BigNumberish, minOut: BigNumberish, toAccount: string, underwriteIncentiveX16: BigNumberish, cdata: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        underwriteAndCheckConnection(sourceIdentifier: BytesLike, fromVault: BytesLike, targetVault: string, toAsset: string, U: BigNumberish, minOut: BigNumberish, toAccount: string, underwriteIncentiveX16: BigNumberish, cdata: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        underwritingStorage(arg0: BytesLike, overrides?: CallOverrides): Promise<[
            BigNumber,
            string,
            BigNumber
        ] & {
            tokens: BigNumber;
            refundTo: string;
            expiry: BigNumber;
        }>;
    };
    EXPIRE_CALLER_REWARD(overrides?: CallOverrides): Promise<BigNumber>;
    EXPIRE_CALLER_REWARD_DENOMINATOR(overrides?: CallOverrides): Promise<BigNumber>;
    GARP(overrides?: CallOverrides): Promise<string>;
    UNDERWRITING_COLLATORAL(overrides?: CallOverrides): Promise<BigNumber>;
    UNDERWRITING_COLLATORAL_DENOMINATOR(overrides?: CallOverrides): Promise<BigNumber>;
    chainIdentifierToDestinationAddress(arg0: BytesLike, overrides?: CallOverrides): Promise<string>;
    connectNewChain(chainIdentifier: BytesLike, remoteCCI: BytesLike, remoteGARP: BytesLike, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    convertEVMTo65(evmAddress: string, overrides?: CallOverrides): Promise<string>;
    estimateAdditionalCost(overrides?: CallOverrides): Promise<[string, BigNumber] & {
        asset: string;
        amount: BigNumber;
    }>;
    expireUnderwrite(targetVault: string, toAsset: string, U: BigNumberish, minOut: BigNumberish, toAccount: string, underwriteIncentiveX16: BigNumberish, cdata: BytesLike, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    getUnderwriteIdentifier(targetVault: string, toAsset: string, U: BigNumberish, minOut: BigNumberish, toAccount: string, underwriteIncentiveX16: BigNumberish, cdata: BytesLike, overrides?: CallOverrides): Promise<string>;
    maxUnderwritingDuration(overrides?: CallOverrides): Promise<BigNumber>;
    minGasFor(arg0: BytesLike, overrides?: CallOverrides): Promise<number>;
    owner(overrides?: CallOverrides): Promise<string>;
    receiveAck(destinationIdentifier: BytesLike, messageIdentifier: BytesLike, acknowledgement: BytesLike, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    receiveMessage(sourceIdentifier: BytesLike, arg1: BytesLike, fromApplication: BytesLike, message: BytesLike, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    renounceOwnership(overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    setMaxUnderwritingDuration(newMaxUnderwriteDuration: BigNumberish, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    setMinGasFor(chainIdentifier: BytesLike, minGas: BigNumberish, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    thisBytes65(overrides?: CallOverrides): Promise<string>;
    transferOwnership(newOwner: string, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    underwrite(targetVault: string, toAsset: string, U: BigNumberish, minOut: BigNumberish, toAccount: string, underwriteIncentiveX16: BigNumberish, cdata: BytesLike, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    underwriteAndCheckConnection(sourceIdentifier: BytesLike, fromVault: BytesLike, targetVault: string, toAsset: string, U: BigNumberish, minOut: BigNumberish, toAccount: string, underwriteIncentiveX16: BigNumberish, cdata: BytesLike, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    underwritingStorage(arg0: BytesLike, overrides?: CallOverrides): Promise<[
        BigNumber,
        string,
        BigNumber
    ] & {
        tokens: BigNumber;
        refundTo: string;
        expiry: BigNumber;
    }>;
    callStatic: {
        EXPIRE_CALLER_REWARD(overrides?: CallOverrides): Promise<BigNumber>;
        EXPIRE_CALLER_REWARD_DENOMINATOR(overrides?: CallOverrides): Promise<BigNumber>;
        GARP(overrides?: CallOverrides): Promise<string>;
        UNDERWRITING_COLLATORAL(overrides?: CallOverrides): Promise<BigNumber>;
        UNDERWRITING_COLLATORAL_DENOMINATOR(overrides?: CallOverrides): Promise<BigNumber>;
        chainIdentifierToDestinationAddress(arg0: BytesLike, overrides?: CallOverrides): Promise<string>;
        connectNewChain(chainIdentifier: BytesLike, remoteCCI: BytesLike, remoteGARP: BytesLike, overrides?: CallOverrides): Promise<void>;
        convertEVMTo65(evmAddress: string, overrides?: CallOverrides): Promise<string>;
        estimateAdditionalCost(overrides?: CallOverrides): Promise<[string, BigNumber] & {
            asset: string;
            amount: BigNumber;
        }>;
        expireUnderwrite(targetVault: string, toAsset: string, U: BigNumberish, minOut: BigNumberish, toAccount: string, underwriteIncentiveX16: BigNumberish, cdata: BytesLike, overrides?: CallOverrides): Promise<void>;
        getUnderwriteIdentifier(targetVault: string, toAsset: string, U: BigNumberish, minOut: BigNumberish, toAccount: string, underwriteIncentiveX16: BigNumberish, cdata: BytesLike, overrides?: CallOverrides): Promise<string>;
        maxUnderwritingDuration(overrides?: CallOverrides): Promise<BigNumber>;
        minGasFor(arg0: BytesLike, overrides?: CallOverrides): Promise<number>;
        owner(overrides?: CallOverrides): Promise<string>;
        receiveAck(destinationIdentifier: BytesLike, messageIdentifier: BytesLike, acknowledgement: BytesLike, overrides?: CallOverrides): Promise<void>;
        receiveMessage(sourceIdentifier: BytesLike, arg1: BytesLike, fromApplication: BytesLike, message: BytesLike, overrides?: CallOverrides): Promise<string>;
        renounceOwnership(overrides?: CallOverrides): Promise<void>;
        setMaxUnderwritingDuration(newMaxUnderwriteDuration: BigNumberish, overrides?: CallOverrides): Promise<void>;
        setMinGasFor(chainIdentifier: BytesLike, minGas: BigNumberish, overrides?: CallOverrides): Promise<void>;
        thisBytes65(overrides?: CallOverrides): Promise<string>;
        transferOwnership(newOwner: string, overrides?: CallOverrides): Promise<void>;
        underwrite(targetVault: string, toAsset: string, U: BigNumberish, minOut: BigNumberish, toAccount: string, underwriteIncentiveX16: BigNumberish, cdata: BytesLike, overrides?: CallOverrides): Promise<string>;
        underwriteAndCheckConnection(sourceIdentifier: BytesLike, fromVault: BytesLike, targetVault: string, toAsset: string, U: BigNumberish, minOut: BigNumberish, toAccount: string, underwriteIncentiveX16: BigNumberish, cdata: BytesLike, overrides?: CallOverrides): Promise<void>;
        underwritingStorage(arg0: BytesLike, overrides?: CallOverrides): Promise<[
            BigNumber,
            string,
            BigNumber
        ] & {
            tokens: BigNumber;
            refundTo: string;
            expiry: BigNumber;
        }>;
    };
    filters: {
        'ExpireUnderwrite(bytes32,address,uint256)'(identifier?: BytesLike | null, expirer?: null, reward?: null): ExpireUnderwriteEventFilter;
        ExpireUnderwrite(identifier?: BytesLike | null, expirer?: null, reward?: null): ExpireUnderwriteEventFilter;
        'FulfillUnderwrite(bytes32)'(identifier?: BytesLike | null): FulfillUnderwriteEventFilter;
        FulfillUnderwrite(identifier?: BytesLike | null): FulfillUnderwriteEventFilter;
        'MaxUnderwriteDuration(uint256)'(newMaxUnderwriteDuration?: null): MaxUnderwriteDurationEventFilter;
        MaxUnderwriteDuration(newMaxUnderwriteDuration?: null): MaxUnderwriteDurationEventFilter;
        'MinGasFor(bytes32,uint48)'(identifier?: null, minGas?: null): MinGasForEventFilter;
        MinGasFor(identifier?: null, minGas?: null): MinGasForEventFilter;
        'RemoteImplementationSet(bytes32,bytes,bytes)'(chainIdentifier?: null, remoteCCI?: null, remoteGARP?: null): RemoteImplementationSetEventFilter;
        RemoteImplementationSet(chainIdentifier?: null, remoteCCI?: null, remoteGARP?: null): RemoteImplementationSetEventFilter;
        'SwapFailed(bytes1)'(error?: null): SwapFailedEventFilter;
        SwapFailed(error?: null): SwapFailedEventFilter;
        'SwapUnderwritten(bytes32,address,uint96,address,address,uint256,address,uint256)'(identifier?: BytesLike | null, underwriter?: string | null, expiry?: null, targetVault?: null, toAsset?: null, U?: null, toAccount?: null, outAmount?: null): SwapUnderwrittenEventFilter;
        SwapUnderwritten(identifier?: BytesLike | null, underwriter?: string | null, expiry?: null, targetVault?: null, toAsset?: null, U?: null, toAccount?: null, outAmount?: null): SwapUnderwrittenEventFilter;
    };
    estimateGas: {
        EXPIRE_CALLER_REWARD(overrides?: CallOverrides): Promise<BigNumber>;
        EXPIRE_CALLER_REWARD_DENOMINATOR(overrides?: CallOverrides): Promise<BigNumber>;
        GARP(overrides?: CallOverrides): Promise<BigNumber>;
        UNDERWRITING_COLLATORAL(overrides?: CallOverrides): Promise<BigNumber>;
        UNDERWRITING_COLLATORAL_DENOMINATOR(overrides?: CallOverrides): Promise<BigNumber>;
        chainIdentifierToDestinationAddress(arg0: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
        connectNewChain(chainIdentifier: BytesLike, remoteCCI: BytesLike, remoteGARP: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        convertEVMTo65(evmAddress: string, overrides?: CallOverrides): Promise<BigNumber>;
        estimateAdditionalCost(overrides?: CallOverrides): Promise<BigNumber>;
        expireUnderwrite(targetVault: string, toAsset: string, U: BigNumberish, minOut: BigNumberish, toAccount: string, underwriteIncentiveX16: BigNumberish, cdata: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        getUnderwriteIdentifier(targetVault: string, toAsset: string, U: BigNumberish, minOut: BigNumberish, toAccount: string, underwriteIncentiveX16: BigNumberish, cdata: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
        maxUnderwritingDuration(overrides?: CallOverrides): Promise<BigNumber>;
        minGasFor(arg0: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
        owner(overrides?: CallOverrides): Promise<BigNumber>;
        receiveAck(destinationIdentifier: BytesLike, messageIdentifier: BytesLike, acknowledgement: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        receiveMessage(sourceIdentifier: BytesLike, arg1: BytesLike, fromApplication: BytesLike, message: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        renounceOwnership(overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        setMaxUnderwritingDuration(newMaxUnderwriteDuration: BigNumberish, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        setMinGasFor(chainIdentifier: BytesLike, minGas: BigNumberish, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        thisBytes65(overrides?: CallOverrides): Promise<BigNumber>;
        transferOwnership(newOwner: string, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        underwrite(targetVault: string, toAsset: string, U: BigNumberish, minOut: BigNumberish, toAccount: string, underwriteIncentiveX16: BigNumberish, cdata: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        underwriteAndCheckConnection(sourceIdentifier: BytesLike, fromVault: BytesLike, targetVault: string, toAsset: string, U: BigNumberish, minOut: BigNumberish, toAccount: string, underwriteIncentiveX16: BigNumberish, cdata: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        underwritingStorage(arg0: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
    };
    populateTransaction: {
        EXPIRE_CALLER_REWARD(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        EXPIRE_CALLER_REWARD_DENOMINATOR(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        GARP(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        UNDERWRITING_COLLATORAL(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        UNDERWRITING_COLLATORAL_DENOMINATOR(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        chainIdentifierToDestinationAddress(arg0: BytesLike, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        connectNewChain(chainIdentifier: BytesLike, remoteCCI: BytesLike, remoteGARP: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        convertEVMTo65(evmAddress: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        estimateAdditionalCost(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        expireUnderwrite(targetVault: string, toAsset: string, U: BigNumberish, minOut: BigNumberish, toAccount: string, underwriteIncentiveX16: BigNumberish, cdata: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        getUnderwriteIdentifier(targetVault: string, toAsset: string, U: BigNumberish, minOut: BigNumberish, toAccount: string, underwriteIncentiveX16: BigNumberish, cdata: BytesLike, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        maxUnderwritingDuration(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        minGasFor(arg0: BytesLike, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        receiveAck(destinationIdentifier: BytesLike, messageIdentifier: BytesLike, acknowledgement: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        receiveMessage(sourceIdentifier: BytesLike, arg1: BytesLike, fromApplication: BytesLike, message: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        renounceOwnership(overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        setMaxUnderwritingDuration(newMaxUnderwriteDuration: BigNumberish, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        setMinGasFor(chainIdentifier: BytesLike, minGas: BigNumberish, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        thisBytes65(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        transferOwnership(newOwner: string, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        underwrite(targetVault: string, toAsset: string, U: BigNumberish, minOut: BigNumberish, toAccount: string, underwriteIncentiveX16: BigNumberish, cdata: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        underwriteAndCheckConnection(sourceIdentifier: BytesLike, fromVault: BytesLike, targetVault: string, toAsset: string, U: BigNumberish, minOut: BigNumberish, toAccount: string, underwriteIncentiveX16: BigNumberish, cdata: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        underwritingStorage(arg0: BytesLike, overrides?: CallOverrides): Promise<PopulatedTransaction>;
    };
}
//# sourceMappingURL=CrosschainInterface.d.ts.map