import { ChangeDetectorRef, OnDestroy, OnInit, Renderer2 } from '@angular/core';
import { AgRendererComponent } from 'ag-grid-angular';
import { IGetRowsParams } from 'ag-grid-community';
import { AbstractComboBox } from './abstract-combobox.component';
import { Observable } from 'rxjs';
import { PreferencesService } from 'systelab-preferences';
import * as i0 from "@angular/core";
export declare abstract class AbstractApiComboBox<T> extends AbstractComboBox<T> implements AgRendererComponent, OnInit, OnDestroy {
    myRenderer: Renderer2;
    chref: ChangeDetectorRef;
    preferencesService?: PreferencesService;
    startsWith: string;
    params: any;
    totalItemsLoaded: boolean;
    constructor(myRenderer: Renderer2, chref: ChangeDetectorRef, preferencesService?: PreferencesService);
    protected configGrid(): void;
    protected configGridData(): void;
    abstract getData(page: number, itemsPerPage: number, startsWithParameter: string): Observable<Array<T>>;
    abstract getTotalItems(): number;
    refresh(params: any): boolean;
    loop(): void;
    protected getTotalItemsInCombo(): number;
    doSearch(event: any): void;
    getRows(params: IGetRowsParams): void;
    private getElements;
    static ɵfac: i0.ɵɵFactoryDeclaration<AbstractApiComboBox<any>, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractApiComboBox<any>, never, never, {}, {}, never, never, false, never>;
}
