/*! * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. * * Alfresco Example Content Application * * This file is part of the Alfresco Example Content Application. * If the software was purchased under a paid Alfresco license, the terms of * the paid license agreement will prevail. Otherwise, the software is * provided under the following open source license terms: * * The Alfresco Example Content Application is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * The Alfresco Example Content Application is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * from Hyland Software. If not, see . */ import { EnvironmentProviders } from '@angular/core'; import { Store } from '@ngrx/store'; import { MatIconRegistry } from '@angular/material/icon'; import { DomSanitizer } from '@angular/platform-browser'; import { AppStore } from '@alfresco/aca-shared/store'; import { ContentActionRef, DocumentListPresetRef, ExtensionConfig, ExtensionLoaderService, ExtensionRef, ExtensionService, NavBarGroupRef, NavigationState, ProfileState, RuleContext, RuleEvaluator, SelectionState, SidebarTabRef } from '@alfresco/adf-extensions'; import { AppConfigService, AuthenticationService, LogService } from '@alfresco/adf-core'; import { Observable, Subject } from 'rxjs'; import { NodeEntry, RepositoryInfo } from '@alfresco/js-api'; import { ViewerRules } from '../models/viewer.rules'; import { Badge, UserProfileSection } from '../models/types'; import { NodePermissionService } from '../services/node-permission.service'; import { SearchCategory } from '@alfresco/adf-content-services'; import * as i0 from "@angular/core"; export declare function provideContentAppExtensions(): EnvironmentProviders[]; export declare class AppExtensionService implements RuleContext { readonly auth: AuthenticationService; protected readonly store: Store; protected readonly loader: ExtensionLoaderService; protected readonly extensions: ExtensionService; readonly permissions: NodePermissionService; readonly appConfig: AppConfigService; protected readonly matIconRegistry: MatIconRegistry; protected readonly sanitizer: DomSanitizer; protected readonly logger: LogService; private readonly _references; bulkActionExecuted$: Subject; navbar: Array; sidebarTabs: Array; contentMetadata: any; search: any; viewerRules: ViewerRules; private readonly _headerActions; private readonly _toolbarActions; private readonly _viewerToolbarActions; private readonly _sharedLinkViewerToolbarActions; private readonly _contextMenuActions; private readonly _openWithActions; private readonly _createActions; private readonly _sidebarActions; private readonly _badges; private readonly _filesDocumentListPreset; private readonly _customMetadataPanels; private readonly _bulkActions; private readonly _userProfileSections; documentListPresets: { libraries: Array; favoriteLibraries: Array; shared: Array; recent: Array; favorites: Array; trashcan: Array; searchLibraries: Array; searchResults: Array; }; selection: SelectionState; navigation: NavigationState; profile: ProfileState; repository: RepositoryInfo; withCredentials: boolean; references$: Observable; filesDocumentListPreset$: Observable; config: ExtensionConfig; constructor(); load(): Promise; setup(config: ExtensionConfig): void; protected registerIcons(config: ExtensionConfig): void; protected loadNavBar(config: ExtensionConfig): Array; protected getDocumentListPreset(config: ExtensionConfig, key: string): DocumentListPresetRef[]; getApplicationNavigation(elements: any): Array; loadContentMetadata(config: ExtensionConfig): any; loadSearchForms(config: ExtensionConfig): any; filterDisabled(object: Array<{ disabled: boolean; }> | { disabled: boolean; }): any; getSidebarTabs(): Array; private setActionDisabledFromRule; updateSidebarActions(): void; getCreateActions(): Observable>; getBadges(node: NodeEntry): Observable>; getUserProfileSections(): Observable>; getCustomMetadataPanels(node: NodeEntry): Observable>; private buildMenu; private getAllowedActions; getAllowedSidebarActions(): Observable>; getAllowedToolbarActions(): Observable>; getViewerToolbarActions(): Observable>; getBulkActions(): Observable>; getOpenWithActions(): Observable>; getSharedLinkViewerToolbarActions(): Observable>; getHeaderActions(): Observable>; getAllowedContextMenuActions(): Observable>; copyAction(action: ContentActionRef): ContentActionRef; filterVisible(action: ContentActionRef | SidebarTabRef | DocumentListPresetRef | SearchCategory): boolean; isViewerExtensionDisabled(extension: any): boolean; runActionById(id: string, additionalPayload?: any): void; isRuleDefined(ruleId: string): boolean; evaluateRule(ruleId: string | string[], ...args: any[]): boolean; getEvaluator(key: string): RuleEvaluator; canPreviewNode(node: NodeEntry): boolean; canShowViewerNavigation(node: NodeEntry): boolean; bulkActionExecuted(): void; isFeatureSupported(feature: string): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }