import { Address, Cell, Message } from '@ton/core'; import { BlockchainTransaction, SendMessageResult } from './Blockchain'; import { AsyncLock } from '../utils/AsyncLock'; import { TickOrTock } from '../executor/Executor'; import { MessageParams, SmartContract } from './SmartContract'; export declare class MessageQueueManager { private readonly lock; private readonly blockchain; private messageQueue; constructor(lock: AsyncLock, blockchain: { startFetchingContract(address: Address): Promise; getContract(address: Address): Promise; increaseLt(): void; getLibs(): Cell | undefined; setLibs(libs: Cell | undefined): void; getAutoDeployLibs(): boolean; onTransactions(txs: BlockchainTransaction[]): void; onTransaction(transaction: BlockchainTransaction): void; }); pushMessage(message: Message | Cell): Promise; pushTickTock(on: Address, which: TickOrTock): Promise; runQueue(params?: MessageParams): Promise; runQueueIter(needsLocking: boolean, params?: MessageParams): AsyncIterator & AsyncIterable; protected processTx(needsLocking: boolean, params?: MessageParams): Promise>; protected processQueue(params?: MessageParams): Promise; protected processMessage(params?: MessageParams): Promise>; private applyLibraryActions; }