import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "./common"; export interface IAssetRouterBaseInterface extends Interface { getFunction(nameOrSignature: "BRIDGE_HUB" | "assetHandlerAddress" | "finalizeDeposit" | "setAssetHandlerAddressThisChain"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "AssetHandlerRegistered" | "AssetHandlerRegisteredInitial" | "BridgehubDepositBaseTokenInitiated" | "BridgehubDepositInitiated" | "BridgehubWithdrawalInitiated" | "DepositFinalizedAssetRouter"): EventFragment; encodeFunctionData(functionFragment: "BRIDGE_HUB", values?: undefined): string; encodeFunctionData(functionFragment: "assetHandlerAddress", values: [BytesLike]): string; encodeFunctionData(functionFragment: "finalizeDeposit", values: [BigNumberish, BytesLike, BytesLike]): string; encodeFunctionData(functionFragment: "setAssetHandlerAddressThisChain", values: [BytesLike, AddressLike]): string; decodeFunctionResult(functionFragment: "BRIDGE_HUB", data: BytesLike): Result; decodeFunctionResult(functionFragment: "assetHandlerAddress", data: BytesLike): Result; decodeFunctionResult(functionFragment: "finalizeDeposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setAssetHandlerAddressThisChain", data: BytesLike): Result; } export declare namespace AssetHandlerRegisteredEvent { type InputTuple = [assetId: BytesLike, _assetAddress: AddressLike]; type OutputTuple = [assetId: string, _assetAddress: string]; interface OutputObject { assetId: string; _assetAddress: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace AssetHandlerRegisteredInitialEvent { type InputTuple = [ assetId: BytesLike, assetHandlerAddress: AddressLike, additionalData: BytesLike, assetDeploymentTracker: AddressLike ]; type OutputTuple = [ assetId: string, assetHandlerAddress: string, additionalData: string, assetDeploymentTracker: string ]; interface OutputObject { assetId: string; assetHandlerAddress: string; additionalData: string; assetDeploymentTracker: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace BridgehubDepositBaseTokenInitiatedEvent { type InputTuple = [ chainId: BigNumberish, from: AddressLike, assetId: BytesLike, amount: BigNumberish ]; type OutputTuple = [ chainId: bigint, from: string, assetId: string, amount: bigint ]; interface OutputObject { chainId: bigint; from: string; assetId: string; amount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace BridgehubDepositInitiatedEvent { type InputTuple = [ chainId: BigNumberish, txDataHash: BytesLike, from: AddressLike, assetId: BytesLike, bridgeMintCalldata: BytesLike ]; type OutputTuple = [ chainId: bigint, txDataHash: string, from: string, assetId: string, bridgeMintCalldata: string ]; interface OutputObject { chainId: bigint; txDataHash: string; from: string; assetId: string; bridgeMintCalldata: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace BridgehubWithdrawalInitiatedEvent { type InputTuple = [ chainId: BigNumberish, sender: AddressLike, assetId: BytesLike, assetDataHash: BytesLike ]; type OutputTuple = [ chainId: bigint, sender: string, assetId: string, assetDataHash: string ]; interface OutputObject { chainId: bigint; sender: string; assetId: string; assetDataHash: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace DepositFinalizedAssetRouterEvent { type InputTuple = [ chainId: BigNumberish, assetId: BytesLike, assetData: BytesLike ]; type OutputTuple = [ chainId: bigint, assetId: string, assetData: string ]; interface OutputObject { chainId: bigint; assetId: string; assetData: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IAssetRouterBase extends BaseContract { connect(runner?: ContractRunner | null): IAssetRouterBase; waitForDeployment(): Promise; interface: IAssetRouterBaseInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; BRIDGE_HUB: TypedContractMethod<[], [string], "view">; assetHandlerAddress: TypedContractMethod<[ _assetId: BytesLike ], [ string ], "view">; finalizeDeposit: TypedContractMethod<[ _chainId: BigNumberish, _assetId: BytesLike, _transferData: BytesLike ], [ void ], "nonpayable">; setAssetHandlerAddressThisChain: TypedContractMethod<[ _assetRegistrationData: BytesLike, _assetHandlerAddress: AddressLike ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "BRIDGE_HUB"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "assetHandlerAddress"): TypedContractMethod<[_assetId: BytesLike], [string], "view">; getFunction(nameOrSignature: "finalizeDeposit"): TypedContractMethod<[ _chainId: BigNumberish, _assetId: BytesLike, _transferData: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setAssetHandlerAddressThisChain"): TypedContractMethod<[ _assetRegistrationData: BytesLike, _assetHandlerAddress: AddressLike ], [ void ], "nonpayable">; getEvent(key: "AssetHandlerRegistered"): TypedContractEvent; getEvent(key: "AssetHandlerRegisteredInitial"): TypedContractEvent; getEvent(key: "BridgehubDepositBaseTokenInitiated"): TypedContractEvent; getEvent(key: "BridgehubDepositInitiated"): TypedContractEvent; getEvent(key: "BridgehubWithdrawalInitiated"): TypedContractEvent; getEvent(key: "DepositFinalizedAssetRouter"): TypedContractEvent; filters: { "AssetHandlerRegistered(bytes32,address)": TypedContractEvent; AssetHandlerRegistered: TypedContractEvent; "AssetHandlerRegisteredInitial(bytes32,address,bytes32,address)": TypedContractEvent; AssetHandlerRegisteredInitial: TypedContractEvent; "BridgehubDepositBaseTokenInitiated(uint256,address,bytes32,uint256)": TypedContractEvent; BridgehubDepositBaseTokenInitiated: TypedContractEvent; "BridgehubDepositInitiated(uint256,bytes32,address,bytes32,bytes)": TypedContractEvent; BridgehubDepositInitiated: TypedContractEvent; "BridgehubWithdrawalInitiated(uint256,address,bytes32,bytes32)": TypedContractEvent; BridgehubWithdrawalInitiated: TypedContractEvent; "DepositFinalizedAssetRouter(uint256,bytes32,bytes)": TypedContractEvent; DepositFinalizedAssetRouter: TypedContractEvent; }; }