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, ResponseBody } from '../utils/index';
import { LoopDocumentState } from '../states/loop-document.state';
export declare class LoopDocumentService extends APIDispatcher {
    http: Http;
    store: Store<LoopDocumentState>;
    constructor(http: Http, store: Store<LoopDocumentState>);
    /**
     * Fetchines a collection of LoopDocument records
     *
     * @param {number} [page=0] The page of the results to request
     * @param {number} [size=10] The size of each page to request
     * @param {string} The optional search parameter to filter by
     */
    query(page?: number, size?: number, options?: APIRequestOptions): Observable<any>;
    /**
     * Fetches a collection of LoopDocument records based on a collection of identities
     *
     * @param {string[]} identities The LoopDocument identities to fetch records for
     */
    fetch(identities: string[]): Observable<ResponseBody>;
    fetchForStore(identities: string[]): void;
    /**
     * Queries the next page from the back-end service, based on the previous request
     *
     *
     * @memberOf LoopDocumentService
     */
    getNextPage(): void;
    /**
     * Resets the entries in the app-state slice for Loop Documents
     *
     *
     * @memberOf LoopDocumentService
     */
    resetEntries(): void;
    /**
     * Resets the selected entries in the app-state slice for Loop Documents
     *
     *
     * @memberOf LoopDocumentService
     */
    resetSelectedEntries(): void;
}
