import { AppSettingsService, PageComponent } from '@alfresco/aca-shared';
import { ContentActionRef, SelectionState } from '@alfresco/adf-extensions';
import { VersionsApi, Node } from '@alfresco/js-api';
import * as i0 from '@angular/core';
import { OnInit, OnDestroy } from '@angular/core';
import { Observable } from 'rxjs';
import * as i1 from '@angular/router';
/*!
* 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 .
*/
declare class AcaViewerComponent implements OnInit, OnDestroy {
private readonly actions$;
private readonly apiService;
private readonly appHookService;
private readonly contentApi;
private readonly extensions;
private readonly nodesApiService;
private readonly route;
private readonly router;
private readonly store;
private readonly uploadService;
private readonly viewerService;
settings: AppSettingsService;
private readonly documentListService;
versionsApi: VersionsApi;
fileName: string;
folderId: string;
infoDrawerOpened$: Observable;
navigateMultiple: boolean;
navigateSource: string;
navigationSources: string[];
nextNodeId: string;
node: Node;
nodeId: string;
openWith: ContentActionRef[];
previousNodeId: string;
selection: SelectionState;
showRightSide: boolean;
toolbarActions: ContentActionRef[];
versionId: string;
private navigationPath;
private previewLocation;
private readonly containersSkipNavigation;
private readonly destroyRef;
ngOnInit(): void;
onViewerVisibilityChanged(): void;
ngOnDestroy(): void;
trackByActionId(_: number, obj: ContentActionRef): string;
displayNode(nodeId: string): Promise;
onNavigateBefore(event: MouseEvent | KeyboardEvent): void;
onNavigateNext(event: MouseEvent | KeyboardEvent): void;
handleKeyboardEvent(event: KeyboardEvent): void;
private navigateToFileLocation;
private getFileLocation;
private shouldNavigate;
private isChild;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵcmp: i0.ɵɵComponentDeclaration;
}
/*!
* 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 .
*/
declare class PreviewComponent extends PageComponent implements OnInit {
private readonly actions$;
private readonly appHookService;
private readonly contentApi;
private readonly location;
private readonly nodesApiService;
private readonly route;
private readonly viewerService;
folderId: string;
navigateBackAsClose: boolean;
navigateMultiple: boolean;
navigateSource: string;
navigationSources: string[];
nextNodeId: string;
nodeId: string;
openWith: Array;
previewLocation: string;
previousNodeId: string;
routesSkipNavigation: string[];
showRightSide: boolean;
simplestMode: boolean;
private readonly containersSkipNavigation;
ngOnInit(): void;
/**
* Loads the particular node into the Viewer
*
* @param id Unique identifier for the Node to display
*/
displayNode(id: string): Promise;
handleKeyboardEvent(event: KeyboardEvent): void;
/**
* Handles the visibility change of the Viewer component.
*
* @param isVisible Indicator whether Viewer is visible or hidden.
*/
onVisibilityChanged(isVisible: boolean): void;
navigateToFileLocation(shouldNavigate: boolean): void;
/** Handles navigation to a previous document */
onNavigateBefore(event: MouseEvent | KeyboardEvent): void;
/** Handles navigation to a next document */
onNavigateNext(event: MouseEvent | KeyboardEvent): void;
/**
* Generates a node preview route based on folder and node IDs.
*
* @param folderId Folder ID
* @param nodeId Node ID
*/
getPreviewPath(folderId: string, nodeId: string): any[];
private getNavigationCommands;
private shouldNavigate;
private isChild;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵcmp: i0.ɵɵComponentDeclaration;
}
declare class AcaViewerModule {
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵmod: i0.ɵɵNgModuleDeclaration;
static ɵinj: i0.ɵɵInjectorDeclaration;
}
interface AdjacentFiles {
left: string;
right: string;
}
declare class ViewerService {
private readonly preferences;
private readonly contentApi;
recentFileFilters: string[];
/**
* Retrieves nearest node information for the given node and folder.
*
* @param nodeId Unique identifier of the document node
* @param folderId Unique identifier of the containing folder node.
* @param source Data source name. Returns file ids for personal-files, libraries, favorites, shared and recent-files, otherwise returns empty.
*/
getNearestNodes(nodeId: string, folderId: string, source: string): Promise;
/**
* Retrieves a list of node identifiers for the folder and data source.
*
* @param source Data source name. Returns file ids for personal-files, libraries, favorites, shared and recent-files, otherwise returns empty.
* @param folderId Optional parameter containing folder node identifier for 'personal-files' and 'libraries' sources.
*/
getFileIds(source: string, folderId?: string): Promise;
/**
* Get the root field name from the property path.
* Example: 'property1.some.child.property' => 'property1'
*
* @param path Property path
*/
getRootField(path: string): string;
private sort;
private getFields;
private getSortKeyDir;
private getDefaults;
private getNodeIds;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵprov: i0.ɵɵInjectableDeclaration;
}
export { AcaViewerComponent, AcaViewerModule, PreviewComponent, ViewerService };