import type { Connection } from '@webkrafters/auto-immutable'; import type { BaseStream, Changes, Data, IStorage, Listener, Prehooks, ProviderProps, RawProviderProps, SelectorMap, ShutdownMonitor, State, Store, StoreInternal, StoreRef, Unsubscribe } from '..'; import AutoImmutable from '@webkrafters/auto-immutable'; import { Phase, ShutdownReason } from '..'; export declare const deps: { createStorageKey: () => string; }; export declare const ACCESS_SYM: unique symbol; export declare class Channel implements Store { private _context; private _internalStore; private _data; private eventMap; private _phase; private _selectorMap; private _unsubClosing; private _unsubscribe; constructor(context: EagleEyeContext, selectorMap?: S); get closed(): boolean; get data(): Data; get phase(): Phase; get streaming(): boolean; set selectorMap(selectorMap: S); addListener(eventType: 'stream-ending', listener: ShutdownMonitor): void; addListener(eventType: 'data-changed', listener: () => void): void; endStream(): void; removeListener(eventType: 'stream-ending', listener: ShutdownMonitor): void; removeListener(eventType: 'data-changed', listener: () => void): void; resetState(propertyPaths?: string[]): void; setState(changes: Changes): void; protected subscribe(): void; protected unsubscribe(): void; private get _renderKeys(); private _dataSourceListener; private _integrateSelectors; private _reclaim; private _refreshDataRef; private _setupInternalStore; private _updateData; private _updateInternalStore; } export declare class EagleEyeContext { private _cache; private _cacheCloseMonitor; private _prehooks; private _storage; private _store; private _storeRef; private eventMap; private inchoateValue; private storageKey; protected _stream: BaseStream; constructor(value?: AutoImmutable, prehooks?: Prehooks, storage?: IStorage); constructor(value?: T, prehooks?: Prehooks, storage?: IStorage); get cache(): AutoImmutable; get closed(): boolean; get prehooks(): Prehooks; get storage(): IStorage; get store(): StoreRef; get stream(): BaseStream; set prehooks(prehooks: Prehooks); set storage(storage: IStorage); createInternalStore(access?: Symbol): StoreInternal; dispose(): void; protected createUpdateEmitterFor(changes: Changes): (netChanges: Readonly>, changedPathsTokens: Array>) => void; protected disconnectInternalStore(connection: Connection): void; protected getState(connection: Connection, propertyPaths: Array): Readonly>; protected notifyClosing(reason: ShutdownReason): void; protected resetState(connection: Connection, propertyPaths: Array): void; protected setState(connection: Connection, changes: Changes): void; protected subscribe(eventType: 'closing', listener: ShutdownMonitor): Unsubscribe; protected subscribe(eventType: 'data-updated', listener: Listener): Unsubscribe; private _createInternalStore; private _reclaim; } export declare function createEagleEye(props?: RawProviderProps): EagleEyeContext; export declare function createEagleEye(props?: ProviderProps): EagleEyeContext; export declare function mkReadonly(v: any): any; export declare function set(obj: {}, path: Array, value: T): void; export declare function set(obj: {}, path: string, value: T): void;