import { ActivatedRoute, Router } from '@angular/router';
import { Actions } from '@ngrx/effects';
import { Store } from '@ngrx/store';
import { Notifications } from 'ngx-base';
import { Observable } from 'rxjs';
import { FilterService } from '../services/filter.service';
import * as BoardUIActions from './../actions/board-ui.actions';
import * as ColumnWorkItemActions from './../actions/column-workitem.action';
import * as WorkItemActions from './../actions/work-item.actions';
import { WorkItemUI } from './../models/work-item';
import { WorkItemService as WIService } from './../services/work-item.service';
import { AppState } from './../states/app.state';
import * as util from './work-item-utils';
export declare type Action = WorkItemActions.All | ColumnWorkItemActions.All | BoardUIActions.All;
export declare class WorkItemEffects {
    private actions$;
    private workItemService;
    private store;
    private router;
    private route;
    private filterService;
    private errHandler;
    private notifications;
    private workItemMapper;
    constructor(actions$: Actions, workItemService: WIService, store: Store<AppState>, router: Router, route: ActivatedRoute, filterService: FilterService, errHandler: util.ErrorHandler, notifications: Notifications);
    resolveWorkItems(workItems: any, state: any, matchingQuery?: boolean, ancestors?: string[]): WorkItemUI[];
    addWorkItems$: Observable<WorkItemActions.AddSuccess | WorkItemActions.AddError | WorkItemActions.GetChildren>;
    getWorkItems$: Observable<Action>;
    getWorkItemChildren$: Observable<Action>;
    updateWorkItem$: Observable<Action>;
    Reorder: Observable<Action>;
    updateWorkItemFromBoard: Observable<Action>;
    getMoreWorkItems$: Observable<Action>;
    deleteWorkItem$: Observable<Action>;
}
