import { ModuleWithProviders } from '@angular/core';
import { MetaReducer } from '@ngrx/store';
import { ConfigInitializerService } from '../config/config-initializer/config-initializer.service';
import { Config } from '../config/config-tokens';
import { MultiCartStatePersistenceService } from './services/multi-cart-state-persistence.service';
import * as i0 from "@angular/core";
export declare function cartStatePersistenceFactory(cartStatePersistenceService: MultiCartStatePersistenceService, configInit: ConfigInitializerService): () => Promise<Config>;
/**
 * Before `MultiCartStatePersistenceService` restores the active cart id `ActiveCartService`
 * will use `current` cart instead of the one saved in browser. This meta reducer
 * sets the value on store initialization to null cart which holds active cart loading
 * until the data from storage is restored.
 */
export declare function uninitializeActiveCartMetaReducerFactory(): MetaReducer<any>;
/**
 * Complimentary module for cart to store cart id in browser storage.
 * This makes it possible to work on the same anonymous cart even after page refresh.
 */
export declare class CartPersistenceModule {
    static forRoot(): ModuleWithProviders<CartPersistenceModule>;
    static ɵfac: i0.ɵɵFactoryDeclaration<CartPersistenceModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<CartPersistenceModule, never, never, never>;
    static ɵinj: i0.ɵɵInjectorDeclaration<CartPersistenceModule>;
}
