import { Observable, Subscription } from 'rxjs'; import { Dictionary } from '../types/common'; export interface PersistOptions { persistId: string; serializer?: (state: S) => string; deserializer?: (stateString: string) => S; } export declare class Blackboard> { protected initialState: S; protected persistOptions?: PersistOptions; private subject; protected _state: S; constructor(initialState: S, persistOptions?: PersistOptions); get state(): S; subscribe(next: (value: S) => void, error?: (error: any) => void, complete?: () => void): Subscription; select(selector: string | ((state: S) => any)): Observable; update(key: keyof S, value: any): void; updateState(state: S): void; reset(): void; private stateUpdated; private persistState; private hidrateState; }