import { AlNavigationService } from './al-navigation.service';
import { NavigationExtras, Router, Params, ActivatedRoute } from '@angular/router';
import * as i0 from "@angular/core";
export declare class AlUrlFilterService {
    navigationService: AlNavigationService;
    router: Router;
    route: ActivatedRoute;
    private whiteList;
    private filterObj;
    constructor(navigationService: AlNavigationService, router: Router, route: ActivatedRoute);
    set whitelist(whitelist: string[]);
    get whitelist(): string[];
    set filters(filterObj: {
        [i: string]: string;
    });
    get filters(): {
        [i: string]: string;
    };
    /**
     * Take a Params object and return a new object with the filters present
     * in the whitelist if they exist
     */
    getFiltersFromQueryParams(queryParams: Params): {
        [i: string]: string;
    };
    /**
     * Apply the setted filters in the URL and route to it
     * Wrapper for O3NavigationService route function
     */
    routeToUrl(commands: any[], extras?: NavigationExtras): void;
    /**
     * Update the current url with the filters
     */
    updateFiltersInUrl(extras?: NavigationExtras): void;
    /**
     * Takes an array of filters ["key0:value0","key1:value1",...] and return
     * an object { "key0":"value0", "key1":"value1" }
     */
    fromSelectedFilters(selectedFilters: string[]): {
        [i: string]: string;
    };
    /**
     * Takes an object { "key0":"value0", "key1":"value1" } and return
     * an array of filters like: ["key0:value0","key1:value1",...]
     */
    toSelectedFilters(filters: {
        [i: string]: string;
    }): string[];
    static ɵfac: i0.ɵɵFactoryDef<AlUrlFilterService, never>;
    static ɵprov: i0.ɵɵInjectableDef<AlUrlFilterService>;
}
