import { AccountStore, BalanceSync, BalanceSyncResult, CryptoScheme, DomainStore, Keystore, Localchain, LocalchainOverview, MainchainClient, MainchainTransferStore, OpenChannelHoldsStore, TickerRef, Transactions } from '@argonprotocol/localchain'; import { KeyringPair$Json } from '@argonprotocol/mainchain'; import { TypedEventEmitter } from '@ulixee/commons/lib/eventUtils'; import Resolvable from '@ulixee/commons/lib/Resolvable'; import ILocalchainConfig from '../interfaces/ILocalchainConfig'; import ILocalchainRef from '../interfaces/ILocalchainRef'; import DatastoreApiClients from '../lib/DatastoreApiClients'; import DatastoreLookup from '../lib/DatastoreLookup'; import DefaultPaymentService from './DefaultPaymentService'; export default class LocalchainWithSync extends TypedEventEmitter<{ sync: BalanceSyncResult; }> implements ILocalchainRef { #private; readonly localchainConfig: Omit; get accounts(): AccountStore; get domains(): DomainStore; get openChannelHolds(): OpenChannelHoldsStore; get balanceSync(): BalanceSync; get transactions(): Transactions; get ticker(): TickerRef; get mainchainTransfers(): MainchainTransferStore; get mainchainClient(): Promise; get keystore(): Keystore; get inner(): Localchain; get name(): string; get path(): string; get currentTick(): number; isSynching: boolean; datastoreLookup: DatastoreLookup; address: Promise; enableLogging: boolean; paymentInfo: Resolvable<{ notaryId: number; chain: import("@argonprotocol/localchain").Chain; genesisHash: string; address: string; }>; mainchainLoaded: Resolvable; private nextTick; constructor(localchainConfig?: Omit); load(): Promise; bindToExportedAccount(accountJson: KeyringPair$Json, passphrase?: string): Promise; createIfMissing(account?: { suri?: string; cryptoScheme?: CryptoScheme; }): Promise; close(): Promise; connectToMainchain(argonMainchainUrl: string, timeoutMs?: number): Promise; attachMainchain(mainchain: MainchainClient): Promise; accountOverview(): Promise; timeForTick(tick: number): Date; createPaymentService(datastoreClients: DatastoreApiClients): Promise; private getPassword; private afterLoad; private scheduleNextTick; static load(config?: Omit): Promise; }