import { IModule, ITKeyApi, ITkeyError, ShareStore, ShareStoreMap } from "@oraichain/common-types"; import BN from "bn.js"; import ShareRequest from "./ShareRequest"; import ShareTransferStorePointer from "./ShareTransferStorePointer"; export type ShareTransferStore = { [encPubKeyX: string]: ShareRequest; }; export declare const SHARE_TRANSFER_MODULE_NAME = "shareTransfer"; declare class ShareTransferModule implements IModule { moduleName: string; tbSDK: ITKeyApi; currentEncKey: BN; requestStatusCheckId: number; requestStatusCheckInterval: number; constructor(); static refreshShareTransferMiddleware(generalStore: unknown, oldShareStores: ShareStoreMap, newShareStores: ShareStoreMap): ShareTransferStorePointer; setModuleReferences(tbSDK: ITKeyApi): void; setRequestStatusCheckInterval(interval: number): void; initialize(): Promise; requestNewShare(userAgent: string, availableShareIndexes: Array, callback?: (err?: ITkeyError, shareStore?: ShareStore) => void): Promise; addCustomInfoToShareRequest(encPubKeyX: string, customInfo: string): Promise; lookForRequests(): Promise>; approveRequest(encPubKeyX: string, shareStore?: ShareStore): Promise; approveRequestWithShareIndex(encPubKeyX: string, shareIndex: string): Promise; getShareTransferStore(): Promise; setShareTransferStore(shareTransferStore: ShareTransferStore): Promise; startRequestStatusCheck(encPubKeyX: string, deleteRequestAfterCompletion: boolean): Promise; cancelRequestStatusCheck(): Promise; deleteShareTransferStore(encPubKey: string): Promise; resetShareTransferStore(): Promise; private _cleanUpCurrentRequest; } export default ShareTransferModule;