import { Store } from '@ngrx/store';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/take';
import { User } from '@documment/mmp.core';
import { DataPublisher } from '../../pubsub/publishers/data.publisher';
import { ApplicationDataState } from '../../app-data.state';
export declare class UserWarehouse {
    private publisher;
    private store;
    constructor(publisher: DataPublisher, store: Store<ApplicationDataState>);
    refresh(users: User[]): void;
    remove(user: User): void;
    upsert(user: User): void;
    state(): User[];
    stateById(userId: number): User;
    watchAll(): Observable<User[]>;
    watchById(userId: number): Observable<User>;
    private subscribe();
}
