import { OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
import { RouterOutlet } from '@angular/router';
import * as i0 from "@angular/core";
export declare class NgxRouterOutletClassDirective implements OnChanges, OnDestroy {
    private routerOutlet;
    constructor(routerOutlet: RouterOutlet);
    /**
     * The class(es) to add to the router-outlet's every component's host element.
     * Multiple classes can be separated by spaces.
     * It will be applied to the component's host element every time its value changes
     * or the component changes.
     * We recommend using this input for static classes for better performance.
     * @type {string}
     * @memberof NgxRouterOutletClassDirective
     */
    componentClass?: string;
    /**
     * A function to get the class(es) for a specific router-outlet's component's host element.
     * The function is called with the component instance as the only argument every time
     * the component changes.
     * The function should return a string with the class(es) to add.
     * Multiple classes can be separated by spaces.
     * @type {function}
     * @memberof NgxRouterOutletClassDirective
     */
    dynamicClassGetter: (component: any) => string;
    private componentClassList;
    private classArray;
    private subscription;
    /**
     * Split a string of classes into an array of classes.
     * @param classes A string of classes separated by spaces.
     * @private
     */
    private splitClasses;
    /**
     * Set the component class(es) to the component's host element.
     * @param classes
     * @private
     */
    private setComponentClass;
    /**
     * Unset the component class(es) from the component's host element.
     * @param classes
     * @private
     */
    private unsetComponentClass;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgxRouterOutletClassDirective, [{ self: true; }]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<NgxRouterOutletClassDirective, "router-outlet[componentClass], router-outlet[dynamicClassGetter]", never, { "componentClass": "componentClass"; "dynamicClassGetter": "dynamicClassGetter"; }, {}, never, never, false, never>;
}
