import { Observable } from 'rxjs';
import { ISortInfos } from './sort-infos.model';
import * as i0 from "@angular/core";
export declare type SortOrder = 'ascending' | 'descending';
/** Classe de tri d'une liste plate ou hierarchique */
export declare class SortingService {
    constructor();
    /** Trie les éléments de la liste plate spécifiée en fonction du modèle de tri spécifié. Peut être surchargé pour implémenter un tri asynchrone
     * @param list Liste à trier.
     * @param sortInfos Modèle de tri à appliquer.
     * @return Observable résolu par la fonction.
     */
    sort$(list: any[], sortInfos: ISortInfos | ISortInfos[]): Observable<any[]>;
    /** Trie les éléments de la liste plate spécifiée en fonction du modèle de tri spécifié
     * @param list Liste à trier.
     * @param sortInfos Modèle de tri à appliquer.
     * @return Liste triée.
     */
    sort(list: any[], sortInfos: ISortInfos | ISortInfos[]): unknown[];
    /** Trie les éléments de la liste hierarchique spécifiée en fonction du modèle de tri spécifié.  Peut être surchargé pour implémenter un tri asynchrone
     * @param tree Liste à trier.
     * @param sortInfos Modèle de tri à appliquer.
     * @param childrenField Champ à utiliser pour la recherche dans les enfants d'un parent.
     * @return Observable résolue par la fonction.
     */
    sortTree$(tree: any[], sortInfos: ISortInfos | ISortInfos[], childrenField?: string): Observable<any[]>;
    static ɵfac: i0.ɵɵFactoryDeclaration<SortingService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<SortingService>;
}
