import { RakunMono, Void, RakunFlux } from "rakun"; import { EventEmitter } from 'eventemitter3'; import { GetParams, SetParams, ZoldySnapshot, ZoldyStore, ZoldyStoreEvents, ZoldyStoreStates } from "./interface"; import { ZoldyStoreState } from "../types"; export declare class ZoldyStoreImpl implements ZoldyStore { states: ZoldyStoreStates; events: ZoldyStoreEvents; inProcess: boolean; constructor(states?: ZoldyStoreStates, events?: ZoldyStoreEvents); getEvents(): ZoldyStoreEvents; setEvents(events: ZoldyStoreEvents): void; getValue(path: string): any | null; getState: (path: string) => ZoldyStoreState; addDependency(path: string, dependency: string): void; hasDependency(path: string, dependency: string): boolean; set(path: string, value: any): void; getDependencies(path: string): string[]; setDependency(path: string, dependencies: string[]): void; _recipeReset(path: string, [data, events]: [ZoldyStoreStates, ZoldyStoreEvents]): void; _recipeSet(path: string, value: any, [states, events]: [ZoldyStoreStates, ZoldyStoreEvents]): void; reset(path: string): void; } export declare class ZoldySnapshotImpl implements ZoldySnapshot { cache: ZoldyStore; parent: ZoldySnapshot | null; eventEmitter: EventEmitter; constructor(cache: ZoldyStore, parent: ZoldySnapshot | null); reset(path: string): RakunMono; emitEvents(): RakunMono; addDependency(path: string, dependency: string): RakunMono; hasDependency(path: string, dependency: string): RakunMono; getDependencies(path: string): RakunFlux; setCacheValue(path: string, value: any): RakunMono; getCacheState(path: string): RakunMono; getState({ get, path }: GetParams): RakunMono; private _get; subscribe(path: string, callback: (value: ZoldyStoreState) => void): RakunMono<() => RakunMono>; set({ path, value }: SetParams): RakunMono; }