import { Observable } from 'rxjs'; import { NkCollectionEvents } from './nkCollection.events'; import { NkCollectionOptions } from './nkCollection.options'; import { NkCollectionBaseSelector } from './nkCollectionBaseSelector.model'; import { NkCollectionResponseContract } from './nkCollectionResponse.contract'; export declare class NkBaseCollectionModel> { private resources; private subscriptions; private isPending; private isLoadedSubject; isLoaded: Observable; private _collection; get collection(): TCollectionResponseContract; get isDataAvailable(): boolean; private _events; get events(): NkCollectionEvents; private _options; get options(): NkCollectionOptions; constructor(resources: (selector: TSelector) => Observable); init(): void; reset(): void; setCurrentPage(page: number): Promise; protected load(currentPage?: number): Observable; protected toContract(currentPage: number): TSelector; private applyContract; private clear; private checkLoadedPage; }