import { OnChanges, OnInit, SimpleChanges } from '@angular/core';
import { PermissionsService } from '@armor/api';
import { NavStateService } from '../../services/nav/nav-state.service';
import { INavItem } from '../../models/nav/nav-item.interface';
import { FeatureFlagsService } from '../../services/feature-flags/feature-flags.service';
export declare class NavFrameComponent implements OnInit, OnChanges {
    private featureFlagService;
    private permissionService;
    constructor(_navStateService: NavStateService, featureFlagService: FeatureFlagsService, permissionService: PermissionsService);
    state: string;
    processedItems: INavItem[];
    items: INavItem[];
    customValidatorContext: object;
    logoHref: string;
    /**
     * Ensure that the nav is rebuilt any time permissionsInitialized$ emits a new account.
     * e.g. Account was changed
     */
    ngOnInit(): void;
    /**
     * Ensure any nav items that are sent in after `permissionsInitialized$` are processed;
     */
    ngOnChanges(changes: SimpleChanges): void;
    onNavStateChanged(_state: string): void;
    /**
     * Recursively filter the nav items by processing each item's requirements.
     * - does not mutate original items array
     * - should not process requirements after a failure is found
     * - should handle sub-items (recursive)
     */
    processNavItems(items: INavItem[]): INavItem[];
    /**
     * Checks that the user has all the supplied permissions for the current account
     * @param item
     */
    processNavItemPermissions(item: any): boolean;
    processNavItemFeatureFlags(item: any): boolean;
    /**
     * Evaluate the hide expression if defined
     */
    processNavItemCustomValidator(item: INavItem, context?: object): boolean;
}
