import { AfterViewInit, EventEmitter, OnChanges, OnDestroy, SimpleChange } from '@angular/core';
import { Observable } from 'rxjs';
import { RTList } from './providers/list';
import { ListResponse } from '../core/list-response';
import { SortParameter } from '../core/sort-parameter';
import { ListRequest } from '../core/list-request';
import { RTSortingsService } from './providers/sortings.service';
import * as i0 from "@angular/core";
export declare class ListDirective implements OnChanges, OnDestroy, AfterViewInit {
    listService: RTList;
    sortingsService: RTSortingsService;
    readonly listInit: EventEmitter<RTList>;
    readonly afterListInit: EventEmitter<RTList>;
    readonly loadSucceed: EventEmitter<ListResponse<any> | any[]>;
    readonly loadFailed: EventEmitter<any>;
    readonly loadStarted: EventEmitter<void>;
    defaultSortings: SortParameter[];
    loadOnInit: boolean;
    keepRecordsOnLoad: boolean;
    appendStreamedData: any;
    items$: Observable<any[]>;
    busy$: Observable<boolean>;
    ready$: Observable<boolean>;
    set fetchMethod(value: (requestParams: ListRequest) => Promise<ListResponse<any>> | Observable<ListResponse<any>> | EventEmitter<ListResponse<any>>);
    private successSubscription;
    private failSubscription;
    private loadStartedSubscription;
    constructor(listService: RTList, sortingsService: RTSortingsService);
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    ngOnChanges(changes: {
        keepRecordsOnLoad?: SimpleChange;
        defaultSortings?: SimpleChange;
        appendStreamedData?: SimpleChange;
    }): void;
    reloadData(): Observable<any> | Promise<any> | EventEmitter<any>;
    loadData(): Observable<any> | Promise<any> | EventEmitter<any>;
    resetSettings(): void;
    cancelRequests(): void;
    get items(): any[];
    get busy(): boolean;
    get ready(): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<ListDirective, [{ self: true; }, { self: true; }]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<ListDirective, "[rtList]", ["rtList"], { "defaultSortings": { "alias": "defaultSortings"; "required": false; }; "loadOnInit": { "alias": "loadOnInit"; "required": false; }; "keepRecordsOnLoad": { "alias": "keepRecordsOnLoad"; "required": false; }; "appendStreamedData": { "alias": "appendStreamedData"; "required": false; }; "fetchMethod": { "alias": "rtList"; "required": false; }; }, { "listInit": "listInit"; "afterListInit": "afterListInit"; "loadSucceed": "loadSucceed"; "loadFailed": "loadFailed"; "loadStarted": "loadStarted"; }, never, never, false, never>;
}
//# sourceMappingURL=list.directive.d.ts.map