import { MailPushEventObject, MailingFeedJoinedEventObject } from '@ylide/ethereum-contracts/lib/YlideMailerV8'; import { Uint256 } from '@ylide/sdk'; import { ethers, BigNumber } from 'ethers'; import { IEVMMailerContractLink, IEVMEnrichedEvent, IEVMMessage, IEVMEvent } from '../../misc'; import { EthereumMailerV8Wrapper } from './EthereumMailerV8Wrapper'; export declare class EthereumMailerV8WrapperMailing { readonly wrapper: EthereumMailerV8Wrapper; constructor(wrapper: EthereumMailerV8Wrapper); processMailPushEvent(mailer: IEVMMailerContractLink, event: IEVMEnrichedEvent): IEVMMessage; createMailingFeed(mailer: IEVMMailerContractLink, signer: ethers.Signer, from: string, value: ethers.BigNumber): Promise<{ tx: ethers.ContractTransaction; receipt: ethers.ContractReceipt; events: { log: ethers.providers.Log; logDescription: ethers.utils.LogDescription; }[]; feedId: Uint256 | null; }>; getMailingFeedParams(mailer: IEVMMailerContractLink, feedId: Uint256): Promise<{ owner: string; beneficiary: string; recipientFee: BigNumber; }>; setMailingFeedOwner(mailer: IEVMMailerContractLink, signer: ethers.Signer, from: string, feedId: Uint256, owner: string): Promise<{ tx: ethers.ContractTransaction; receipt: ethers.ContractReceipt; }>; setMailingFeedBeneficiary(mailer: IEVMMailerContractLink, signer: ethers.Signer, from: string, feedId: Uint256, beneficiary: string): Promise<{ tx: ethers.ContractTransaction; receipt: ethers.ContractReceipt; }>; setMailingFeedFees(mailer: IEVMMailerContractLink, signer: ethers.Signer, from: string, feedId: Uint256, fees: { recipientFee: BigNumber; }): Promise<{ tx: ethers.ContractTransaction; receipt: ethers.ContractReceipt; }>; getRecipientToMailIndex(mailer: IEVMMailerContractLink, feedId: Uint256, recipient: Uint256): Promise; getRecipientMessagesCount(mailer: IEVMMailerContractLink, feedId: Uint256, recipient: Uint256): Promise; getRecipientToJoinMailingFeedIndex(mailer: IEVMMailerContractLink, recipient: Uint256): Promise; sendSmallMail(mailer: IEVMMailerContractLink, signer: ethers.Signer, from: string, feedId: Uint256, uniqueId: number, recipient: Uint256, key: Uint8Array, content: Uint8Array, value: ethers.BigNumber): Promise<{ tx: ethers.ContractTransaction; receipt: ethers.ContractReceipt; logs: ethers.utils.LogDescription[]; mailPushEvents: IEVMEvent[]; messages: IEVMMessage[]; }>; sendBulkMail(mailer: IEVMMailerContractLink, signer: ethers.Signer, from: string, feedId: Uint256, uniqueId: number, recipients: Uint256[], keys: Uint8Array[], content: Uint8Array, value: ethers.BigNumber): Promise<{ tx: ethers.ContractTransaction; receipt: ethers.ContractReceipt; logs: ethers.utils.LogDescription[]; mailPushEvents: IEVMEvent[]; messages: IEVMMessage[]; }>; addMailRecipients(mailer: IEVMMailerContractLink, signer: ethers.Signer, from: string, feedId: Uint256, uniqueId: number, firstBlockNumber: number, partsCount: number, blockCountLock: number, recipients: Uint256[], keys: Uint8Array[], value: ethers.BigNumber): Promise<{ tx: ethers.ContractTransaction; receipt: ethers.ContractReceipt; logs: ethers.utils.LogDescription[]; mailPushEvents: IEVMEvent[]; messages: IEVMMessage[]; }>; getMailPushEvent(mailer: IEVMMailerContractLink, blockNumber: number, txIndex: number, logIndex: number): Promise; retrieveMailHistoryDesc(mailer: IEVMMailerContractLink, feedId: Uint256, recipient: Uint256, fromMessage: IEVMMessage | null, includeFromMessage: boolean, toMessage: IEVMMessage | null, includeToMessage: boolean, limit: number | null): Promise; retrieveJoinMailFeedsHistoryDesc(mailer: IEVMMailerContractLink, recipient: Uint256, fromMessage: IEVMEvent | null, includeFromMessage: boolean, toMessage: IEVMEvent | null, includeToMessage: boolean, limit: number | null): Promise[]>; }