import { GunDataProvider } from '../data/GunDataProvider'; import { EventEmitter } from '../utils/EventEmitter'; import { SchemaDefinition } from '../Types'; export declare class DistributedState extends EventEmitter { private gunDataProvider; private path; private schema; private state; constructor(gunDataProvider: GunDataProvider, path: string, schema: SchemaDefinition, initialState?: T); private setupListeners; private updateState; get(): Promise; set(data: Partial): Promise; update(updater: (currentState: T) => Partial): Promise; subscribe(listener: (state: T, oldState: T) => void): () => void; getSchema(): SchemaDefinition; validate(data: any): boolean; reset(): Promise; getId(): string; transaction(transactionFn: (currentState: T) => Partial): Promise; getCurrentState(): T; setStateQuiet(newState: Partial): void; refresh(): Promise; }