import { OnInit } from '@angular/core';
import { AbstractGrid } from './abstract-grid.component';
import { Observable } from 'rxjs';
import { GridOptions, IDatasource, IGetRowsParams } from 'ag-grid-community';
import { PreferencesService } from 'systelab-preferences';
import { I18nService } from 'systelab-translate';
import { DialogService } from '../modal/dialog/dialog.service';
import * as i0 from "@angular/core";
export declare abstract class AbstractApiGrid<T> extends AbstractGrid<T> implements IDatasource, OnInit {
    protected preferencesService: PreferencesService;
    protected i18nService: I18nService;
    protected dialogService: DialogService;
    constructor(preferencesService: PreferencesService, i18nService: I18nService, dialogService: DialogService);
    protected getInitialGridOptions(): GridOptions;
    abstract getTotalItems(): number;
    protected abstract getData(page: number, itemsPerPage: number): Observable<Array<T>>;
    getRows(params: IGetRowsParams): void;
    protected putPage(page: Array<T>, totalItems: number, params: IGetRowsParams): void;
    refresh(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AbstractApiGrid<any>, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractApiGrid<any>, never, never, {}, {}, never, never, false, never>;
}
