import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/map';
import { ExchequerEvent } from '@documment/mmp.core';
import { Transaction } from '@documment/mmp.core';
import { HttpRequester } from '../http/http-requester';
import { ExchequerEventMapper } from '../mappers/exchequer-event.mapper';
import { TransactionMapper } from '../mappers/transaction.mapper';
import { TransactionsMapper } from '../mappers/transactions.mapper';
import { ApiOptions } from '../models/api-options.model';
import { ServiceResponder } from '../services/responders/service.responder';
import { TransactionPublisher } from '../../pubsub/publishers/data/transaction.publisher';
import { TransactionsPublisher } from '../../pubsub/publishers/data/transactions.publisher';
export declare class ExchequerService {
    private httpRequester;
    private exchequerEventMapper;
    private transactionMapper;
    private transactionsMapper;
    private transactionPublisher;
    private transactionsPublisher;
    private serviceResponder;
    constructor(httpRequester: HttpRequester, exchequerEventMapper: ExchequerEventMapper, transactionMapper: TransactionMapper, transactionsMapper: TransactionsMapper, transactionPublisher: TransactionPublisher, transactionsPublisher: TransactionsPublisher, serviceResponder: ServiceResponder);
    createTransactions(institutionId: number, eventIds: number[], options?: ApiOptions): Observable<Transaction[]>;
    getTransaction(transactionId: number, options?: ApiOptions): Observable<Transaction>;
    transactionCandidates(options?: ApiOptions): Observable<Transaction[]>;
    updateExchequerEvent(exchequerEvent: ExchequerEvent, options?: ApiOptions): Observable<ExchequerEvent>;
}
