import PeraWalletConnectError from "../PeraWalletConnectError"; import { PeraWalletArbitraryData, PeraWalletTransaction } from "../model/peraWalletModels"; import { PeraTeller } from "../network/teller/appTellerManager"; import { AlgorandChainIDs } from "../peraWalletTypes"; type SignTransactionFlowMethod = "SIGN_TXN" | "SIGN_DATA"; interface SignTransactionFlowPromise { resolve: (value: Uint8Array[] | PromiseLike) => void; reject: (error: PeraWalletConnectError) => void; signer?: string; chainId?: AlgorandChainIDs; } interface RunSignTransactionFlowParams extends SignTransactionFlowPromise { method: SignTransactionFlowMethod; signTxnRequestParams: PeraWalletTransaction[] | PeraWalletArbitraryData[]; webWalletURL: string; isCompactMode?: boolean; } interface NewTabSignTransactionFlowTellerReducerParams extends SignTransactionFlowPromise { event: MessageEvent>; newPeraWalletTab: Window | null; method: SignTransactionFlowMethod; } export type { SignTransactionFlowPromise, RunSignTransactionFlowParams, NewTabSignTransactionFlowTellerReducerParams };