import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers"; import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; import type { Listener, Provider } from "@ethersproject/providers"; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export declare namespace IState { type GistProofStruct = { root: BigNumberish; existence: boolean; siblings: BigNumberish[]; index: BigNumberish; value: BigNumberish; auxExistence: boolean; auxIndex: BigNumberish; auxValue: BigNumberish; }; type GistProofStructOutput = [ BigNumber, boolean, BigNumber[], BigNumber, BigNumber, boolean, BigNumber, BigNumber ] & { root: BigNumber; existence: boolean; siblings: BigNumber[]; index: BigNumber; value: BigNumber; auxExistence: boolean; auxIndex: BigNumber; auxValue: BigNumber; }; type GistRootInfoStruct = { root: BigNumberish; replacedByRoot: BigNumberish; createdAtTimestamp: BigNumberish; replacedAtTimestamp: BigNumberish; createdAtBlock: BigNumberish; replacedAtBlock: BigNumberish; }; type GistRootInfoStructOutput = [ BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber ] & { root: BigNumber; replacedByRoot: BigNumber; createdAtTimestamp: BigNumber; replacedAtTimestamp: BigNumber; createdAtBlock: BigNumber; replacedAtBlock: BigNumber; }; type StateInfoStruct = { id: BigNumberish; state: BigNumberish; replacedByState: BigNumberish; createdAtTimestamp: BigNumberish; replacedAtTimestamp: BigNumberish; createdAtBlock: BigNumberish; replacedAtBlock: BigNumberish; }; type StateInfoStructOutput = [ BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber ] & { id: BigNumber; state: BigNumber; replacedByState: BigNumber; createdAtTimestamp: BigNumber; replacedAtTimestamp: BigNumber; createdAtBlock: BigNumber; replacedAtBlock: BigNumber; }; } export interface StateV2Interface extends utils.Interface { functions: { "VERSION()": FunctionFragment; "acceptOwnership()": FunctionFragment; "getGISTProof(uint256)": FunctionFragment; "getGISTProofByBlock(uint256,uint256)": FunctionFragment; "getGISTProofByRoot(uint256,uint256)": FunctionFragment; "getGISTProofByTime(uint256,uint256)": FunctionFragment; "getGISTRoot()": FunctionFragment; "getGISTRootHistory(uint256,uint256)": FunctionFragment; "getGISTRootHistoryLength()": FunctionFragment; "getGISTRootInfo(uint256)": FunctionFragment; "getGISTRootInfoByBlock(uint256)": FunctionFragment; "getGISTRootInfoByTime(uint256)": FunctionFragment; "getStateInfoById(uint256)": FunctionFragment; "getStateInfoByIdAndState(uint256,uint256)": FunctionFragment; "getStateInfoHistoryById(uint256,uint256,uint256)": FunctionFragment; "getStateInfoHistoryLengthById(uint256)": FunctionFragment; "getVerifier()": FunctionFragment; "idExists(uint256)": FunctionFragment; "initialize(address)": FunctionFragment; "owner()": FunctionFragment; "pendingOwner()": FunctionFragment; "renounceOwnership()": FunctionFragment; "setVerifier(address)": FunctionFragment; "stateExists(uint256,uint256)": FunctionFragment; "transferOwnership(address)": FunctionFragment; "transitState(uint256,uint256,uint256,bool,uint256[2],uint256[2][2],uint256[2])": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "VERSION" | "acceptOwnership" | "getGISTProof" | "getGISTProofByBlock" | "getGISTProofByRoot" | "getGISTProofByTime" | "getGISTRoot" | "getGISTRootHistory" | "getGISTRootHistoryLength" | "getGISTRootInfo" | "getGISTRootInfoByBlock" | "getGISTRootInfoByTime" | "getStateInfoById" | "getStateInfoByIdAndState" | "getStateInfoHistoryById" | "getStateInfoHistoryLengthById" | "getVerifier" | "idExists" | "initialize" | "owner" | "pendingOwner" | "renounceOwnership" | "setVerifier" | "stateExists" | "transferOwnership" | "transitState"): FunctionFragment; encodeFunctionData(functionFragment: "VERSION", values?: undefined): string; encodeFunctionData(functionFragment: "acceptOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "getGISTProof", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "getGISTProofByBlock", values: [BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "getGISTProofByRoot", values: [BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "getGISTProofByTime", values: [BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "getGISTRoot", values?: undefined): string; encodeFunctionData(functionFragment: "getGISTRootHistory", values: [BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "getGISTRootHistoryLength", values?: undefined): string; encodeFunctionData(functionFragment: "getGISTRootInfo", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "getGISTRootInfoByBlock", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "getGISTRootInfoByTime", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "getStateInfoById", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "getStateInfoByIdAndState", values: [BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "getStateInfoHistoryById", values: [BigNumberish, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "getStateInfoHistoryLengthById", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "getVerifier", values?: undefined): string; encodeFunctionData(functionFragment: "idExists", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "initialize", values: [string]): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "pendingOwner", values?: undefined): string; encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "setVerifier", values: [string]): string; encodeFunctionData(functionFragment: "stateExists", values: [BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "transferOwnership", values: [string]): string; encodeFunctionData(functionFragment: "transitState", values: [ BigNumberish, BigNumberish, BigNumberish, boolean, [ BigNumberish, BigNumberish ], [ [BigNumberish, BigNumberish], [BigNumberish, BigNumberish] ], [ BigNumberish, BigNumberish ] ]): string; decodeFunctionResult(functionFragment: "VERSION", data: BytesLike): Result; decodeFunctionResult(functionFragment: "acceptOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getGISTProof", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getGISTProofByBlock", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getGISTProofByRoot", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getGISTProofByTime", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getGISTRoot", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getGISTRootHistory", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getGISTRootHistoryLength", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getGISTRootInfo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getGISTRootInfoByBlock", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getGISTRootInfoByTime", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getStateInfoById", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getStateInfoByIdAndState", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getStateInfoHistoryById", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getStateInfoHistoryLengthById", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getVerifier", data: BytesLike): Result; decodeFunctionResult(functionFragment: "idExists", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pendingOwner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setVerifier", data: BytesLike): Result; decodeFunctionResult(functionFragment: "stateExists", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transitState", data: BytesLike): Result; events: { "Initialized(uint8)": EventFragment; "OwnershipTransferStarted(address,address)": EventFragment; "OwnershipTransferred(address,address)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; getEvent(nameOrSignatureOrTopic: "OwnershipTransferStarted"): EventFragment; getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; } export interface InitializedEventObject { version: number; } export declare type InitializedEvent = TypedEvent<[number], InitializedEventObject>; export declare type InitializedEventFilter = TypedEventFilter; export interface OwnershipTransferStartedEventObject { previousOwner: string; newOwner: string; } export declare type OwnershipTransferStartedEvent = TypedEvent<[ string, string ], OwnershipTransferStartedEventObject>; export declare type OwnershipTransferStartedEventFilter = TypedEventFilter; export interface OwnershipTransferredEventObject { previousOwner: string; newOwner: string; } export declare type OwnershipTransferredEvent = TypedEvent<[ string, string ], OwnershipTransferredEventObject>; export declare type OwnershipTransferredEventFilter = TypedEventFilter; export interface StateV2 extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: StateV2Interface; queryFilter(event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>; listeners(eventFilter?: TypedEventFilter): Array>; listeners(eventName?: string): Array; removeAllListeners(eventFilter: TypedEventFilter): this; removeAllListeners(eventName?: string): this; off: OnEvent; on: OnEvent; once: OnEvent; removeListener: OnEvent; functions: { VERSION(overrides?: CallOverrides): Promise<[string]>; acceptOwnership(overrides?: Overrides & { from?: string; }): Promise; getGISTProof(id: BigNumberish, overrides?: CallOverrides): Promise<[IState.GistProofStructOutput]>; getGISTProofByBlock(id: BigNumberish, blockNumber: BigNumberish, overrides?: CallOverrides): Promise<[IState.GistProofStructOutput]>; getGISTProofByRoot(id: BigNumberish, root: BigNumberish, overrides?: CallOverrides): Promise<[IState.GistProofStructOutput]>; getGISTProofByTime(id: BigNumberish, timestamp: BigNumberish, overrides?: CallOverrides): Promise<[IState.GistProofStructOutput]>; getGISTRoot(overrides?: CallOverrides): Promise<[BigNumber]>; getGISTRootHistory(start: BigNumberish, length: BigNumberish, overrides?: CallOverrides): Promise<[IState.GistRootInfoStructOutput[]]>; getGISTRootHistoryLength(overrides?: CallOverrides): Promise<[BigNumber]>; getGISTRootInfo(root: BigNumberish, overrides?: CallOverrides): Promise<[IState.GistRootInfoStructOutput]>; getGISTRootInfoByBlock(blockNumber: BigNumberish, overrides?: CallOverrides): Promise<[IState.GistRootInfoStructOutput]>; getGISTRootInfoByTime(timestamp: BigNumberish, overrides?: CallOverrides): Promise<[IState.GistRootInfoStructOutput]>; getStateInfoById(id: BigNumberish, overrides?: CallOverrides): Promise<[IState.StateInfoStructOutput]>; getStateInfoByIdAndState(id: BigNumberish, state: BigNumberish, overrides?: CallOverrides): Promise<[IState.StateInfoStructOutput]>; getStateInfoHistoryById(id: BigNumberish, startIndex: BigNumberish, length: BigNumberish, overrides?: CallOverrides): Promise<[IState.StateInfoStructOutput[]]>; getStateInfoHistoryLengthById(id: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>; getVerifier(overrides?: CallOverrides): Promise<[string]>; idExists(id: BigNumberish, overrides?: CallOverrides): Promise<[boolean]>; initialize(verifierContractAddr: string, overrides?: Overrides & { from?: string; }): Promise; owner(overrides?: CallOverrides): Promise<[string]>; pendingOwner(overrides?: CallOverrides): Promise<[string]>; renounceOwnership(overrides?: Overrides & { from?: string; }): Promise; setVerifier(newVerifierAddr: string, overrides?: Overrides & { from?: string; }): Promise; stateExists(id: BigNumberish, state: BigNumberish, overrides?: CallOverrides): Promise<[boolean]>; transferOwnership(newOwner: string, overrides?: Overrides & { from?: string; }): Promise; transitState(id: BigNumberish, oldState: BigNumberish, newState: BigNumberish, isOldStateGenesis: boolean, a: [BigNumberish, BigNumberish], b: [[BigNumberish, BigNumberish], [BigNumberish, BigNumberish]], c: [BigNumberish, BigNumberish], overrides?: Overrides & { from?: string; }): Promise; }; VERSION(overrides?: CallOverrides): Promise; acceptOwnership(overrides?: Overrides & { from?: string; }): Promise; getGISTProof(id: BigNumberish, overrides?: CallOverrides): Promise; getGISTProofByBlock(id: BigNumberish, blockNumber: BigNumberish, overrides?: CallOverrides): Promise; getGISTProofByRoot(id: BigNumberish, root: BigNumberish, overrides?: CallOverrides): Promise; getGISTProofByTime(id: BigNumberish, timestamp: BigNumberish, overrides?: CallOverrides): Promise; getGISTRoot(overrides?: CallOverrides): Promise; getGISTRootHistory(start: BigNumberish, length: BigNumberish, overrides?: CallOverrides): Promise; getGISTRootHistoryLength(overrides?: CallOverrides): Promise; getGISTRootInfo(root: BigNumberish, overrides?: CallOverrides): Promise; getGISTRootInfoByBlock(blockNumber: BigNumberish, overrides?: CallOverrides): Promise; getGISTRootInfoByTime(timestamp: BigNumberish, overrides?: CallOverrides): Promise; getStateInfoById(id: BigNumberish, overrides?: CallOverrides): Promise; getStateInfoByIdAndState(id: BigNumberish, state: BigNumberish, overrides?: CallOverrides): Promise; getStateInfoHistoryById(id: BigNumberish, startIndex: BigNumberish, length: BigNumberish, overrides?: CallOverrides): Promise; getStateInfoHistoryLengthById(id: BigNumberish, overrides?: CallOverrides): Promise; getVerifier(overrides?: CallOverrides): Promise; idExists(id: BigNumberish, overrides?: CallOverrides): Promise; initialize(verifierContractAddr: string, overrides?: Overrides & { from?: string; }): Promise; owner(overrides?: CallOverrides): Promise; pendingOwner(overrides?: CallOverrides): Promise; renounceOwnership(overrides?: Overrides & { from?: string; }): Promise; setVerifier(newVerifierAddr: string, overrides?: Overrides & { from?: string; }): Promise; stateExists(id: BigNumberish, state: BigNumberish, overrides?: CallOverrides): Promise; transferOwnership(newOwner: string, overrides?: Overrides & { from?: string; }): Promise; transitState(id: BigNumberish, oldState: BigNumberish, newState: BigNumberish, isOldStateGenesis: boolean, a: [BigNumberish, BigNumberish], b: [[BigNumberish, BigNumberish], [BigNumberish, BigNumberish]], c: [BigNumberish, BigNumberish], overrides?: Overrides & { from?: string; }): Promise; callStatic: { VERSION(overrides?: CallOverrides): Promise; acceptOwnership(overrides?: CallOverrides): Promise; getGISTProof(id: BigNumberish, overrides?: CallOverrides): Promise; getGISTProofByBlock(id: BigNumberish, blockNumber: BigNumberish, overrides?: CallOverrides): Promise; getGISTProofByRoot(id: BigNumberish, root: BigNumberish, overrides?: CallOverrides): Promise; getGISTProofByTime(id: BigNumberish, timestamp: BigNumberish, overrides?: CallOverrides): Promise; getGISTRoot(overrides?: CallOverrides): Promise; getGISTRootHistory(start: BigNumberish, length: BigNumberish, overrides?: CallOverrides): Promise; getGISTRootHistoryLength(overrides?: CallOverrides): Promise; getGISTRootInfo(root: BigNumberish, overrides?: CallOverrides): Promise; getGISTRootInfoByBlock(blockNumber: BigNumberish, overrides?: CallOverrides): Promise; getGISTRootInfoByTime(timestamp: BigNumberish, overrides?: CallOverrides): Promise; getStateInfoById(id: BigNumberish, overrides?: CallOverrides): Promise; getStateInfoByIdAndState(id: BigNumberish, state: BigNumberish, overrides?: CallOverrides): Promise; getStateInfoHistoryById(id: BigNumberish, startIndex: BigNumberish, length: BigNumberish, overrides?: CallOverrides): Promise; getStateInfoHistoryLengthById(id: BigNumberish, overrides?: CallOverrides): Promise; getVerifier(overrides?: CallOverrides): Promise; idExists(id: BigNumberish, overrides?: CallOverrides): Promise; initialize(verifierContractAddr: string, overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; pendingOwner(overrides?: CallOverrides): Promise; renounceOwnership(overrides?: CallOverrides): Promise; setVerifier(newVerifierAddr: string, overrides?: CallOverrides): Promise; stateExists(id: BigNumberish, state: BigNumberish, overrides?: CallOverrides): Promise; transferOwnership(newOwner: string, overrides?: CallOverrides): Promise; transitState(id: BigNumberish, oldState: BigNumberish, newState: BigNumberish, isOldStateGenesis: boolean, a: [BigNumberish, BigNumberish], b: [[BigNumberish, BigNumberish], [BigNumberish, BigNumberish]], c: [BigNumberish, BigNumberish], overrides?: CallOverrides): Promise; }; filters: { "Initialized(uint8)"(version?: null): InitializedEventFilter; Initialized(version?: null): InitializedEventFilter; "OwnershipTransferStarted(address,address)"(previousOwner?: string | null, newOwner?: string | null): OwnershipTransferStartedEventFilter; OwnershipTransferStarted(previousOwner?: string | null, newOwner?: string | null): OwnershipTransferStartedEventFilter; "OwnershipTransferred(address,address)"(previousOwner?: string | null, newOwner?: string | null): OwnershipTransferredEventFilter; OwnershipTransferred(previousOwner?: string | null, newOwner?: string | null): OwnershipTransferredEventFilter; }; estimateGas: { VERSION(overrides?: CallOverrides): Promise; acceptOwnership(overrides?: Overrides & { from?: string; }): Promise; getGISTProof(id: BigNumberish, overrides?: CallOverrides): Promise; getGISTProofByBlock(id: BigNumberish, blockNumber: BigNumberish, overrides?: CallOverrides): Promise; getGISTProofByRoot(id: BigNumberish, root: BigNumberish, overrides?: CallOverrides): Promise; getGISTProofByTime(id: BigNumberish, timestamp: BigNumberish, overrides?: CallOverrides): Promise; getGISTRoot(overrides?: CallOverrides): Promise; getGISTRootHistory(start: BigNumberish, length: BigNumberish, overrides?: CallOverrides): Promise; getGISTRootHistoryLength(overrides?: CallOverrides): Promise; getGISTRootInfo(root: BigNumberish, overrides?: CallOverrides): Promise; getGISTRootInfoByBlock(blockNumber: BigNumberish, overrides?: CallOverrides): Promise; getGISTRootInfoByTime(timestamp: BigNumberish, overrides?: CallOverrides): Promise; getStateInfoById(id: BigNumberish, overrides?: CallOverrides): Promise; getStateInfoByIdAndState(id: BigNumberish, state: BigNumberish, overrides?: CallOverrides): Promise; getStateInfoHistoryById(id: BigNumberish, startIndex: BigNumberish, length: BigNumberish, overrides?: CallOverrides): Promise; getStateInfoHistoryLengthById(id: BigNumberish, overrides?: CallOverrides): Promise; getVerifier(overrides?: CallOverrides): Promise; idExists(id: BigNumberish, overrides?: CallOverrides): Promise; initialize(verifierContractAddr: string, overrides?: Overrides & { from?: string; }): Promise; owner(overrides?: CallOverrides): Promise; pendingOwner(overrides?: CallOverrides): Promise; renounceOwnership(overrides?: Overrides & { from?: string; }): Promise; setVerifier(newVerifierAddr: string, overrides?: Overrides & { from?: string; }): Promise; stateExists(id: BigNumberish, state: BigNumberish, overrides?: CallOverrides): Promise; transferOwnership(newOwner: string, overrides?: Overrides & { from?: string; }): Promise; transitState(id: BigNumberish, oldState: BigNumberish, newState: BigNumberish, isOldStateGenesis: boolean, a: [BigNumberish, BigNumberish], b: [[BigNumberish, BigNumberish], [BigNumberish, BigNumberish]], c: [BigNumberish, BigNumberish], overrides?: Overrides & { from?: string; }): Promise; }; populateTransaction: { VERSION(overrides?: CallOverrides): Promise; acceptOwnership(overrides?: Overrides & { from?: string; }): Promise; getGISTProof(id: BigNumberish, overrides?: CallOverrides): Promise; getGISTProofByBlock(id: BigNumberish, blockNumber: BigNumberish, overrides?: CallOverrides): Promise; getGISTProofByRoot(id: BigNumberish, root: BigNumberish, overrides?: CallOverrides): Promise; getGISTProofByTime(id: BigNumberish, timestamp: BigNumberish, overrides?: CallOverrides): Promise; getGISTRoot(overrides?: CallOverrides): Promise; getGISTRootHistory(start: BigNumberish, length: BigNumberish, overrides?: CallOverrides): Promise; getGISTRootHistoryLength(overrides?: CallOverrides): Promise; getGISTRootInfo(root: BigNumberish, overrides?: CallOverrides): Promise; getGISTRootInfoByBlock(blockNumber: BigNumberish, overrides?: CallOverrides): Promise; getGISTRootInfoByTime(timestamp: BigNumberish, overrides?: CallOverrides): Promise; getStateInfoById(id: BigNumberish, overrides?: CallOverrides): Promise; getStateInfoByIdAndState(id: BigNumberish, state: BigNumberish, overrides?: CallOverrides): Promise; getStateInfoHistoryById(id: BigNumberish, startIndex: BigNumberish, length: BigNumberish, overrides?: CallOverrides): Promise; getStateInfoHistoryLengthById(id: BigNumberish, overrides?: CallOverrides): Promise; getVerifier(overrides?: CallOverrides): Promise; idExists(id: BigNumberish, overrides?: CallOverrides): Promise; initialize(verifierContractAddr: string, overrides?: Overrides & { from?: string; }): Promise; owner(overrides?: CallOverrides): Promise; pendingOwner(overrides?: CallOverrides): Promise; renounceOwnership(overrides?: Overrides & { from?: string; }): Promise; setVerifier(newVerifierAddr: string, overrides?: Overrides & { from?: string; }): Promise; stateExists(id: BigNumberish, state: BigNumberish, overrides?: CallOverrides): Promise; transferOwnership(newOwner: string, overrides?: Overrides & { from?: string; }): Promise; transitState(id: BigNumberish, oldState: BigNumberish, newState: BigNumberish, isOldStateGenesis: boolean, a: [BigNumberish, BigNumberish], b: [[BigNumberish, BigNumberish], [BigNumberish, BigNumberish]], c: [BigNumberish, BigNumberish], overrides?: Overrides & { from?: string; }): Promise; }; }