import { Schema } from 'normalizr'; import { Keys } from './entities'; import { Id } from '../types'; import { EventTopic } from './event-topic'; export declare const CHANGE_EVENT_TYPE = "changed"; export declare type Data = { [Keys.userLiteral]: { [key: string]: number | undefined; }; [Keys.addresses]: { [key: string]: {}; }; [Keys.banks]: { [key: string]: {}; }; [Keys.credits]: { [key: string]: {}; }; [Keys.forms]: { [key: string]: {}; }; [Keys.kycs]: { [key: string]: {}; }; [Keys.loanParts]: { [key: string]: {}; }; [Keys.persons]: { [key: string]: {}; }; [Keys.tinkLoans]: { [key: string]: {}; }; [Keys.users]: { [key: string]: {}; }; [Keys.countries]: { [key: string]: {}; }; [Keys.currencies]: { [key: string]: {}; }; [Keys.markets]: { [key: string]: {}; }; [Keys.genders]: { [key: string]: {}; }; [Keys.employmentTypes]: { [key: string]: {}; }; [Keys.kycPurposes]: { [key: string]: {}; }; [Keys.kycSources]: { [key: string]: {}; }; }; export declare type Options = { expanded?: boolean; deep?: boolean; }; export declare class Store { private _data; private _eventBus; constructor(eventBus?: EventTopic, initialData?: Data); reset(data?: Data): void; has(key: Keys, id: Id): boolean; find(key: Keys, fn: (item: any, index: number, array: any[]) => boolean): unknown; filter(key: Keys, fn: (item: any, index: number, array: any[]) => boolean): unknown[]; get(key: Keys, id?: Id, opts?: Options): any; getAll(key: Keys, opts?: Options): any; set(key: Keys, item: any, opts?: Options): void; setBySchema(schema: Schema, data: any, opts?: Options): void; del(key: Keys, id: Id | Id[]): void; }