import { HttpClient } from '@angular/common/http';
import { Router } from '@angular/router';
import { ConfigService, MenuIncludeService, MenuItem } from '@valtimo/shared';
import { DocumentService } from '@valtimo/document';
import { UserProviderService } from '@valtimo/security';
import { SseService } from '@valtimo/sse';
import { KeycloakService } from 'keycloak-angular';
import { NGXLogger } from 'ngx-logger';
import { Observable } from 'rxjs';
import { PendingChangesService } from '../pending-changes/pending-changes.service';
import * as i0 from "@angular/core";
export declare class MenuService {
    private readonly configService;
    private readonly documentService;
    private readonly http;
    private readonly keycloakService;
    private readonly logger;
    private readonly menuIncludeService;
    private readonly pendingChangesService;
    private readonly router;
    private readonly userProviderService;
    private readonly sseService;
    private readonly _activeParentSequenceNumber$;
    includeFunctionObservables: {
        [key: string]: Observable<boolean>;
    };
    private readonly caseDefinitions$;
    private _menuItems$;
    private menuConfig;
    private readonly disableCaseCount;
    private readonly enableObjectManagement;
    get activeParentSequenceNumber$(): Observable<string>;
    constructor(configService: ConfigService, documentService: DocumentService, http: HttpClient, keycloakService: KeycloakService, logger: NGXLogger, menuIncludeService: MenuIncludeService, pendingChangesService: PendingChangesService, router: Router, userProviderService: UserProviderService, sseService: SseService);
    private readonly currentRoute$;
    private readonly dossierItemsAppended$;
    private readonly objectsItemsAppended$;
    get closestSequence$(): Observable<string>;
    get menuItems$(): Observable<MenuItem[]>;
    init(): void;
    reload(): void;
    private loadMenuItems;
    private sortMenuItems;
    private appendCaseSubMenuItems;
    private appendObjectsSubMenuItems;
    private getOpenCaseCountMap;
    private updateDocumentCount;
    private applyMenuRoleSecurity;
    private determineRoleAccess;
    private getAllObjects;
    static ɵfac: i0.ɵɵFactoryDeclaration<MenuService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<MenuService>;
}
//# sourceMappingURL=menu.service.d.ts.map