/**
 * TODO Добавить в модуль api функцию кеширования данных
 * Есть компоненты которые запрашивают данные при инициализации используя api. При каждом появлении
 * компонента происходит http запрос используя сервис. Нужно для модуля api реализовать возможность кэширования, чтобы
 * при запросе данных сервис выполнял http запрос только в случае если данных нет в хранилище или требуется выполнить
 * обновление данных с http запросом.
 * Для этого в модуль api нужно добавить функцию сохранения данных в хранилище и проверку нужных данных там же.
 * Так же нужно реализовать разные типы хранилищь. Локальное(просто в памяти), LocalStorage и адаптер для Redux.
 *
 * Хранилище redux как и любое другое хранилище должно быть недоступно для редактиорования внешним кодом и хранить
 * состояние данных получаемых по api. Если данные были сохранены на сервер то они должны быть обновлены в хранилище.
 *
 * При каждом get запросе в хранилище создается поле с уникальным значением для этого запроса. Разные сервисы могут
 * выполнять для одного и тогоже роута запросы с разными фильтрами. Для каждого такого запроса должен создаваться
 * отдельный объект. При вызове api.request сервис передает api свое имя которое станет уникальным значением для
 * хранрения и последущего получения данных. Любой сервис может так же пердать параметры указывающие нужно ли
 * кэшировать запрос или нет, нужно ли выполнить обновление данных или получать их из хранилища, а так же указать
 * какое хранилище использовать.
 * */
import { ModuleWithProviders } from '@angular/core';
import { ISApi } from './typings';
export * from './api.service';
export * from './token.service';
export * from './errors-stream.service';
export * from './loading-stream.service';
export declare class NgxApiManager {
    static forRoot(options?: {
        storages?: ISApi.storages;
        configs?: Array<ISApi.apiConfig>;
    }): ModuleWithProviders;
}
