import { Http } from '@angular/http';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import { Store } from '@ngrx/store';
import { Observable } from 'rxjs/Observable';
import { APIDispatcher, APIRequestOptions } from '../utils/index';
import { LoopAssignmentPayload, LoopAssignmentSubmissionPayload } from '../interfaces/index';
export declare class LoopAssignmentService extends APIDispatcher {
    http: Http;
    store: Store<any>;
    constructor(http: Http, store: Store<any>);
    fetch(identities: string[], page?: number, size?: number, options?: APIRequestOptions): any;
    fetchForUsers(userIdentities: string[], page?: number, size?: number, options?: APIRequestOptions, forStore?: Boolean): any;
    checkUnread(userIdentities: string[]): any;
    create(payload: LoopAssignmentPayload): Observable<{}>;
    update(payload: LoopAssignmentPayload): Observable<{}>;
    submit(identity: string, payload: LoopAssignmentSubmissionPayload): Observable<{}>;
    /**
     * Resets the entries in the app-state slice for Loop Assignments
     *
     *
     * @memberOf LoopAssignmentService
     */
    resetEntries(): void;
    /**
     * Fetches the next available page for assignments, if any
     */
    getNextFetchPage(): void;
    /**
     * Fetches the next available page for assignments, if any
     */
    getNextFetchUsersPage(): void;
}
