import { Observable } from 'rxjs';
import { IGroupInfo } from './group-infos';
import * as i0 from "@angular/core";
/** Service de regroupement d'un tableau de modèles */
export declare class GroupingService {
    /** Groupe les éléments de la liste hierarchique spécifiée à partir du niveau spécifié, et en fonction du modèle de groupe spécifié
     * @param tree Liste à trier.
     * @param groupInfos Modèle de groupe à appliquer.
     * @param childrenField Champs à utiliser comme collection des enfants d'un parent.
     * @param depth Niveau à partir duquel le modèle de regroupement doit être appliqué.
     * @return Observable résolu par la fonction.
     */
    group$(tree: any[], groupInfos: IGroupInfo[] | IGroupInfo, childrenField?: string): Observable<any[]>;
    protected groupChildren$(list: any[], groupInfo: IGroupInfo, _depth: number, childrenField: string): Observable<any[]>;
    private getTextValue;
    static ɵfac: i0.ɵɵFactoryDeclaration<GroupingService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<GroupingService>;
}
