import { GunDataProvider } from '../data/GunDataProvider'; import { AuthManager } from '../auth/AuthManager'; import { SyncManager } from '../net/SyncManager'; import { PeerManager } from '../net/PeerManager'; import { PluginSystem } from './PluginSystem'; import { ContextRouter } from './ContextRouter'; import { DevTools } from '../dev/DevTools'; import { Logger } from '../Logger'; import { MultiContextObject } from './MultiContextObject'; import { DistributedState } from '../data/DistributedState'; import { Component } from './Component'; import { ComponentMetadata, ComponentInstance, SchemaDefinition } from '../Types'; export declare class DecentralizedApp extends MultiContextObject { private gunDataProvider; private authManager; private syncManager; private peerManager; private pluginSystem; private contextRouter; private devTools; logger: Logger; private networkMonitor; private componentRegistry; private loadedComponents; constructor(gun: GunDataProvider); getDataProvider(): GunDataProvider; getCurrentUserPair(): any; publishComponent(component: Component, schema: SchemaDefinition): Promise; loadComponent(address: string, schema: SchemaDefinition): Promise; searchComponents(query: string, limit?: number): Promise; getLoadedComponent(address: string): ComponentInstance | undefined; unloadComponent(address: string): Promise; private setupUpdateListeners; private handleComponentUpdate; initialize(): Promise; start(): Promise; stop(): Promise; getAuthManager(): AuthManager; getSyncManager(): SyncManager; getPeerManager(): PeerManager; getPluginSystem(): PluginSystem; getContextRouter(): ContextRouter; getDevTools(): DevTools; createDistributedState(initialState: T, path: string, schema: SchemaDefinition): DistributedState; route(path: string, data?: any): Promise; broadcastRoute(path: string, data?: any): Promise; executeInPeer(peerId: string, func: Function): Promise; onPeerMessage(callback: (peerId: string, message: any) => void): void; broadcastToPeers(message: any): void; }