export declare type ISelector = (selector: ISelectorPath, equalFn?: IEqual) => any; export declare type IAtomPath = string | number; export declare type IPath = IAtomPath | IAtomPath[]; export declare type ISelectorPath = IPath | Record; export declare type IEqual = (a: any, b: any) => boolean; export interface INode { value: Function[]; next: INode[]; prev?: INode; key: IAtomPath; } export declare type IHashBidirectionalList = Record;