import { WalletTransport } from "./WalletTransport"; import { PeraWalletArbitraryData, PeraWalletArc60SignData, PeraWalletArc60SignDataResponse, SignMetadata, PeraWalletTransaction } from "../util/model/peraWalletModels"; import { AlgorandChainIDs } from "../util/peraWalletTypes"; type Connector = { sendCustomRequest: (request: any, options?: any) => Promise; accounts?: string[]; } | null; export interface MobileTransportDeps { connector: Connector; shouldShowSignTxnToast: boolean; isInWebview: boolean; getSilent: () => Promise; } /** * Asks the wallet for its accounts' empty signatures. This is a function rather * than a MobileTransport method because the wallet answers without prompting: * the class's constructor opens the signing toast or redirect modal, and this * request must show nothing, send no push notification and open no deep link. * Pera apps that don't know the method drop it silently, so the timeout is the * only way out. */ export declare function requestEmptySignatures(connector: { sendCustomRequest: (request: any, options?: any) => Promise; }, caipChainId: string): Promise; export declare class MobileTransport implements WalletTransport { readonly platform: "mobile"; private deps; constructor(deps: MobileTransportDeps); private get connector(); setConnector(connector: Connector): void; private cleanupModals; signTransaction(signTxnRequestParams: PeraWalletTransaction[]): Promise; signData(data: PeraWalletArbitraryData[], signer: string, chainId: AlgorandChainIDs): Promise; signArc60Data(payload: PeraWalletArc60SignData, metadata: SignMetadata): Promise; } export {};