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