import { TccSnackBarService } from '../../../core/services/tcc-snackbar/tcc-snackbar.service';
import { TccDialogWindowService } from '../../../core/services/tcc-dialog-window/tcc-dialog-window.service';
import { Observable, OperatorFunction } from 'rxjs';
import { tccCommonFunction } from '../../constants/tcc-common-functions.const';
import { TccSingleton } from '../../../core/models/tcc-singleton.model';
export declare namespace tccMessageDispatcher {
    interface multirequestmessages {
        nodeSingular: string;
        nodePlural: string;
        operatorPresent: string;
        operatorPast: string;
    }
    interface multideletemessages {
        nodeSingular: string;
        nodePlural: string;
    }
}
export declare class TccMessageDispatcherService implements TccSingleton {
    private snackBar;
    private dialog;
    constructor(snackBar: TccSnackBarService, dialog: TccDialogWindowService);
    init(): void;
    reset(): void;
    catchErrorResponse(): OperatorFunction<any, null>;
    handleMultiRequest<T>(observables: {
        [key: string]: Observable<T>;
    }, messages: tccMessageDispatcher.multirequestmessages, itemIdNameKeyValues: {
        [itemId: string]: string;
    }): Observable<tccCommonFunction.returnType<T>>;
    handleMultiDelete<T>(observables: {
        [key: string]: Observable<T>;
    }, messages: tccMessageDispatcher.multideletemessages, itemIdNameKeyValues: {
        [itemId: string]: string;
    }): Observable<tccCommonFunction.returnType<T>>;
}
