import * as _angular_core from '@angular/core';
import { Injector, Type, OnInit } from '@angular/core';
import * as i3 from '@acorex/platform/layout/widget-core';
import { AXPValueWidgetComponent, AXPWidgetCoreContextChangeEvent, AXPWidgetNode, AXPWidgetConfig } from '@acorex/platform/layout/widget-core';
import * as i4 from '@acorex/components/media-viewer';
import * as i5 from '@acorex/platform/workflow';
import { AXPWorkflowService } from '@acorex/platform/workflow';
import * as _acorex_platform_common from '@acorex/platform/common';
import { AXPEntity, AXPFileStorageService, AXPFilterOperatorMiddlewareService, AXPFileType, AXPFileTypeInfoProvider, AXPFileTypeProviderService, AXPMenuProvider, AXPMenuProviderContext, AXPSearchCommandProvider, AXPSearchResult, AXPSettingDefinitionProvider, AXPSettingDefinitionProviderContext } from '@acorex/platform/common';
import { AXPEntityModel, AXMEntityCrudServiceImpl, AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader, AXPEntityPreloadEntity } from '@acorex/platform/layout/entity';
import * as _acorex_platform_core from '@acorex/platform/core';
import { AXPFileListItem, AXPMetaData, AXPCategoryEntity, AXPPlatformScope, AXPQueryRequest, AXPHookService, AXPActionMenuItem, AXPDeviceService, AXPBackButton, AXPBreadcrumbItem, AXPExecuteCommand } from '@acorex/platform/core';
import { AXMMetaDataSelectorValue } from '@acorex/modules/data-management';
import * as _acorex_platform_themes_shared from '@acorex/platform/themes/shared';
import * as _ngrx_signals from '@ngrx/signals';
import * as _acorex_components_menu from '@acorex/components/menu';
import { AXMenuItem, AXContextMenuComponent, AXContextMenuOpeningEvent, AXContextMenuItemsClickEvent } from '@acorex/components/menu';
import { AXTranslationService } from '@acorex/core/translation';
import { AXDialogService } from '@acorex/components/dialog';
import { AXPopupService } from '@acorex/components/popup';
import { AXPSessionService } from '@acorex/platform/auth';
import { AXPLayoutBuilderService } from '@acorex/platform/layout/builder';
import { AXFileService } from '@acorex/core/file';
import * as _acorex_modules_document_management from '@acorex/modules/document-management';
import { AXPPageLayoutBaseComponent } from '@acorex/platform/layout/views';
import { AXValueChangedEvent, AXDataSource } from '@acorex/cdk/common';
import { Router, ActivatedRoute } from '@angular/router';

declare const RootConfig: {
    config: {
        i18n: string;
    };
    module: {
        module: string;
        name: string;
        title: string;
        icon: string;
    };
    entities: {
        folder: {
            name: string;
            title: string;
            titlePlural: string;
            icon: string;
        };
        document: {
            name: string;
            title: string;
            titlePlural: string;
            icon: string;
        };
        documentType: {
            name: string;
            title: string;
            titlePlural: string;
            icon: string;
        };
    };
};

declare class AXMDriveChooseModule {
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMDriveChooseModule, never>;
    static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXMDriveChooseModule, never, never, never>;
    static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXMDriveChooseModule>;
}

declare class AXMDocumentManagementDocumentTypeEntityModule {
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMDocumentManagementDocumentTypeEntityModule, never>;
    static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXMDocumentManagementDocumentTypeEntityModule, never, never, never>;
    static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXMDocumentManagementDocumentTypeEntityModule>;
}

declare class AXMDocumentManagementModule {
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMDocumentManagementModule, never>;
    static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXMDocumentManagementModule, never, [typeof AXMDriveChooseModule, typeof AXMDocumentManagementDocumentTypeEntityModule, typeof i3.AXPWidgetCoreModule, typeof i4.AXMediaViewerModule, typeof i5.AXPWorkflowModule], never>;
    static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXMDocumentManagementModule>;
}

/**
 * Minimal entity definition for Document so the entity registry can resolve
 * DocumentManagement.Document. Used by AXMDocumentService (AXMEntityCrudServiceImpl).
 * No list/form UI; documents are handled by document-explorer.
 */
declare function documentEntityFactory(_injector: Injector): Promise<AXPEntity | null>;

interface AXMDocumentDto extends AXPEntityModel<string> {
    name: string;
    title: string;
    documentType: AXMDocumentDocDto;
    parentId: string;
    fileInfo: AXPFileListItem;
    description?: string;
    expirationDate?: Date;
    status?: string;
    version?: number;
    metaDataForm?: AXPMetaData;
}
interface AXMDocumentDocDto {
    id: string;
    name: string;
    title: string;
}

declare abstract class AXMDocumentService extends AXMEntityCrudServiceImpl<string, AXMDocumentDto> {
}
declare class AXMDocumentServiceImpl extends AXMDocumentService {
    constructor();
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMDocumentServiceImpl, never>;
    static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMDocumentServiceImpl>;
}

declare function documentTypeFactory(injector: Injector): Promise<AXPEntity | null>;

interface DocumentTypeFileOutput {
    selectedItems: Array<{
        name: string;
        title: string;
        icon: string;
    }>;
    context: {
        [key: string]: any;
    };
}
interface AXMDocumentManagementDocumentTypeEntityModel extends AXPEntityModel<string> {
    name: string;
    title: string;
    maxSize: number;
    isEncrypted: boolean;
    enableVersioning: boolean;
    enableExpiration: boolean;
    requiresReview: boolean;
    reviewFirst?: boolean;
    /** Metadata field definitions (meta-data-selector value; used by meta-data-form-editor). */
    metaDataList?: AXMMetaDataSelectorValue;
    type: DocumentTypeFileOutput;
}

declare abstract class AXMDocumentTypeService extends AXMEntityCrudServiceImpl<string, AXMDocumentManagementDocumentTypeEntityModel> {
}
declare class AXMDocumentTypeServiceImpl extends AXMDocumentTypeService {
    constructor();
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMDocumentTypeServiceImpl, never>;
    static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMDocumentTypeServiceImpl>;
}

/**
 * Minimal entity definition for Folder so the entity registry can resolve
 * DocumentManagement.Folder. Used by AXMFolderService (AXMEntityCrudServiceImpl).
 * No list/form UI; folder tree is handled by document-explorer.
 */
declare function folderEntityFactory(_injector: Injector): Promise<AXPEntity | null>;

type AXMDocumentInheritanceType = 'Extends' | 'Inherited' | 'None';
/**
 * Document Management Folder - Extends category substructure for consistency with platform
 *
 * Inherited from AXPCategoryEntity:
 * - id, title, description?, parentId?
 * - childrenCount (direct subfolders count)
 * - itemsCount? (direct documents count)
 * - totalChildrenCount?, totalItemsCount? (optional, for analytics)
 *
 * Folder-specific: color, documentTypes, inherit, size, parent, folders, documents.
 */
interface AXMDocumentManagementFolderEntityModel extends AXPEntityModel<string>, AXPCategoryEntity<string> {
    color: string;
    documentTypes?: AXMDocumentManagementDocumentTypeEntityModel[];
    inherit: AXMDocumentInheritanceType;
    size: number;
    parent?: AXMDocumentManagementFolderEntityModel;
    folders?: AXMDocumentManagementFolderEntityModel[];
    documents?: AXMDocumentDto[];
}
interface AXMDocumentManagementFolderCreateDto {
    title: string;
    color: string;
    description?: string;
    parentId?: string;
    documentTypes?: AXMDocumentManagementDocumentTypeEntityModel[];
    inherit: AXMDocumentInheritanceType;
    /** Optional; when not provided, backend may set to 0 or compute. */
    size?: number;
    /** Optional; used for tenant-scoped folder creation. */
    tenantId?: string;
    /** Optional; used for user-scoped folder creation. */
    userId?: string;
}
interface AXMDocumentManagementFolderGetDto extends AXMDocumentManagementFolderEntityModel {
    parent?: AXMDocumentManagementFolderEntityModel;
    folders?: AXMDocumentManagementFolderEntityModel[];
    documents?: AXMDocumentDto[];
}

declare abstract class AXMFolderService extends AXMEntityCrudServiceImpl<string, AXMDocumentManagementFolderEntityModel, AXMDocumentManagementFolderEntityModel, AXMDocumentManagementFolderCreateDto> {
}
declare class AXMFolderServiceImpl extends AXMFolderService {
    constructor();
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMFolderServiceImpl, never>;
    static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMFolderServiceImpl>;
}

declare class AXMEntityProvider implements AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader {
    private injector;
    preload(): AXPEntityPreloadEntity[];
    get(moduleName: string, entityName: string): Promise<AXPEntity | null>;
    list(): Promise<{
        name: string;
        module: string;
    }[]>;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMEntityProvider, never>;
    static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMEntityProvider>;
}

declare abstract class AXPDocumentManagementService {
    /**
     * Gets the root folder for the given scope.
     * Backend resolves tenant/user from request context (security: client sends only scope).
     */
    abstract getRoot(scope: AXPPlatformScope): Promise<AXMDocumentManagementFolderEntityModel>;
    abstract getDocumentPath(documentId: string, stopFolderId?: string): Promise<AXMDocumentManagementFolderEntityModel[]>;
    abstract searchFiles(searchTerm: string, rootFolderId: string): Promise<AXMDocumentDto[]>;
    abstract findManyDocuments(ids: string[]): Promise<AXMDocumentDto[]>;
    abstract getFolderPath(folderId: string, stopFolderId?: string): Promise<AXMDocumentManagementFolderEntityModel[]>;
    abstract searchFolders(searchTerm: string, rootFolderId: string): Promise<AXMDocumentManagementFolderEntityModel[]>;
    abstract getDocumentTypeByName(name: string): Promise<AXMDocumentDocDto>;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDocumentManagementService, never>;
    static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPDocumentManagementService>;
}

interface AXMDocumentExplorerNode {
    id: string;
    name: string;
    description?: string;
    type: 'file' | 'folder';
    parentId: string | null;
    storageType: 'physical' | 'virtual';
    children?: AXMDocumentExplorerNode[];
    childrenCount?: number;
    size: number;
    modifiedAt?: Date;
    createdAt?: Date;
    fileId?: AXPFileListItem;
    documentTypes: AXMNodeType[];
    meta?: {
        id: string;
        title: string;
    }[];
    inherit?: AXMDocumentInheritanceType;
}
interface AXMNodeType extends AXMDocumentDocDto {
}
type AXPDocumentExplorerViewMode = 'large-tiles' | 'small-tiles' | 'list' | 'details' | 'large-icons' | 'attachment' | 'small-icons';
type AXMDocumentExplorerBrowseMode = 'file' | 'folder';
type AXMDocumentSelectionMode = 'single' | 'multiple' | 'none';
type CreateFolderDto = Partial<Omit<AXMDocumentManagementFolderEntityModel, 'id'>>;
type UpdateFolderDto = Partial<Omit<AXMDocumentManagementFolderEntityModel, 'id'>>;
type CreateFileDto = Omit<AXMDocumentDto, 'id'>;
type UpdateFileDto = Partial<Omit<AXMDocumentDto, 'id'>>;

interface AttachmentOptions {
    multiple?: boolean;
    folderId?: string;
    entityId?: string;
    entityRecordId?: string;
}
interface UpdateAttachmentOptions {
    entityId?: string;
    entityRecordId?: string;
    folderId?: string;
}
declare class DocumentAttachmentsService {
    private readonly fileService;
    private readonly documentTypeService;
    private readonly documentService;
    private readonly documentDialog;
    private readonly translateService;
    attachFile(fileType: string | AXMDocumentDocDto, options?: AttachmentOptions): Promise<boolean>;
    updateAttachedFile(fileId: string, options?: UpdateAttachmentOptions): Promise<boolean>;
    /**
     * Upload a new version for an existing document. Lets user choose a new file, edit metadata, and updates the document
     * with incremented version number while keeping the same document identity.
     */
    uploadNewVersion(fileId: string): Promise<boolean>;
    private validateAttachmentOptions;
    private resolveFileType;
    private chooseFiles;
    private mapFilesToFileListItems;
    private handlePopupResult;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<DocumentAttachmentsService, never>;
    static ɵprov: _angular_core.ɵɵInjectableDeclaration<DocumentAttachmentsService>;
}

/**
 * Contract for document drive service. Inject this token; implementation is provided by the module.
 */
declare abstract class AXMDocumentManagerService {
    abstract scope(scope: AXPPlatformScope): ScopedDriveService;
    abstract getRoot(scope: AXPPlatformScope): Promise<{
        path: AXMDocumentExplorerNode[];
        result: AXMDocumentExplorerNode;
    }>;
    abstract getFolder(scope: AXPPlatformScope, folderId: string): Promise<{
        path: AXMDocumentExplorerNode[];
        result: AXMDocumentExplorerNode;
    }>;
    abstract createFolder(data: AXMDocumentManagementFolderCreateDto): Promise<AXMDocumentExplorerNode>;
    abstract updateFolder(folderId: string, data: UpdateFolderDto): Promise<AXMDocumentExplorerNode>;
    abstract deleteFolder(folderId: string): Promise<void>;
    abstract getAvailableSpace(): Promise<number>;
    abstract createFile(data: CreateFileDto): Promise<AXMDocumentExplorerNode>;
    abstract updateFile(fileId: string, data: UpdateFileDto): Promise<AXMDocumentExplorerNode>;
    abstract deleteFile(fileId: string): Promise<void>;
    abstract deleteNodes(nodeIds: AXMDocumentExplorerNode[]): Promise<void>;
    abstract copy(node: AXMDocumentExplorerNode): Promise<AXMDocumentExplorerNode>;
    abstract showCreateFolderDialog(parentId?: string): Promise<AXMDocumentExplorerNode | null>;
    abstract showDeleteNodesDialog(nodeIds: AXMDocumentExplorerNode[]): Promise<boolean>;
    abstract showRenamePopup(node: AXMDocumentExplorerNode): Promise<AXMDocumentExplorerNode | undefined>;
    abstract searchFolders(searchTerm: string, scope: AXPPlatformScope, options?: {
        folderId?: string;
    }): Promise<AXMDocumentExplorerNode[]>;
    abstract searchFiles(searchTerm: string, scope: AXPPlatformScope, options?: {
        folderId?: string;
    }): Promise<AXMDocumentExplorerNode[]>;
    abstract searchNodes(searchTerm: string, scope: AXPPlatformScope, options?: {
        folderId?: string;
    }): Promise<AXMDocumentExplorerNode[]>;
    abstract showChooseFileDialog(root: string): Promise<AXMDocumentExplorerNode[]>;
    abstract moveTo(options: {
        node: AXMDocumentExplorerNode;
        scope?: AXPPlatformScope;
        browseMode?: AXMDocumentExplorerBrowseMode;
        multiple?: boolean;
    }): Promise<boolean>;
    abstract copyTo(options: {
        node: AXMDocumentExplorerNode;
        scope?: AXPPlatformScope;
        browseMode?: AXMDocumentExplorerBrowseMode;
        multiple?: boolean;
    }): Promise<boolean>;
    abstract showFileViewerPopup(node: AXMDocumentExplorerNode, options?: {
        index?: number;
        folderVirtualFiles?: AXMDocumentExplorerNode[];
    }): Promise<void>;
    abstract openFile(node: AXMDocumentExplorerNode): Promise<void>;
    /** Returns nodes that are supported by the gallery (image/pdf extensions). */
    abstract getGallerySupportedFiles(nodes: AXMDocumentExplorerNode[]): AXMDocumentExplorerNode[];
    abstract getAllFolders(): Promise<AXMDocumentExplorerNode[]>;
    abstract getAllFiles(request?: AXPQueryRequest): Promise<AXMDocumentExplorerNode[]>;
    abstract getAllNodes(): Promise<AXMDocumentExplorerNode[]>;
    abstract downloadFile(node: AXMDocumentExplorerNode): Promise<void>;
    abstract showShareDialog(node: AXMDocumentExplorerNode): Promise<void>;
    abstract showShareWithEmailDialog(node: AXMDocumentExplorerNode): Promise<void>;
    abstract showLinkDialog(node: AXMDocumentExplorerNode): Promise<void>;
    abstract showLockDialog(node: AXMDocumentExplorerNode): Promise<boolean>;
    abstract showUnlockDialog(node: AXMDocumentExplorerNode): Promise<boolean>;
    abstract showFolderEditDialog(node: AXMDocumentExplorerNode): Promise<boolean>;
    abstract updateFileName(node: AXMDocumentExplorerNode, name: string): Promise<AXMDocumentExplorerNode>;
    abstract uploadFileByType(folderId: string, docTypeId: string): Promise<boolean>;
    abstract updateUploadFileByType(node: AXMDocumentExplorerNode): Promise<boolean>;
    abstract uploadNewVersion(node: AXMDocumentExplorerNode): Promise<boolean>;
    abstract showVersionHistory(node: AXMDocumentExplorerNode): Promise<void>;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMDocumentManagerService, never>;
    static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMDocumentManagerService>;
}
/**
 * Default implementation of document drive service.
 */
declare class AXMDocumentManagerServiceImpl extends AXMDocumentManagerService {
    protected folderService: AXMFolderService;
    protected sessionService: AXPSessionService;
    protected documentService: AXMDocumentService;
    protected documentTypeService: AXMDocumentTypeService;
    protected documentManagementService: AXPDocumentManagementService;
    protected popupService: AXPopupService;
    protected dialogService: AXDialogService;
    protected fileService: AXPFileStorageService;
    protected fileManagerService: AXFileService;
    protected workflow: AXPWorkflowService;
    protected translate: AXTranslationService;
    protected layoutBuilder: AXPLayoutBuilderService;
    protected attachmentsService: DocumentAttachmentsService;
    protected filterMiddlewareService: AXPFilterOperatorMiddlewareService;
    protected hooks: AXPHookService | null;
    private scopedDriveCache;
    private buildPathCache;
    /**
     * Creates a scoped drive service for the specified platform scope.
     * Backend resolves tenant/user from request context (client sends only scope).
     */
    scope(scope: AXPPlatformScope): ScopedDriveService;
    /**
     * Maps folder entity to document explorer node
     */
    private mapFolderDtoToFolderNode;
    /**
     * Maps file entity to document explorer node
     */
    private mapFileToNode;
    /**
     * Maps document to media viewer data
     */
    private mapDocumentToMediaViewerData;
    /**
     * Builds navigation path for a node
     */
    private buildPath;
    /**
     * Creates a copy name by adding " copy" before the extension
     */
    private createCopyName;
    /**
     * Prepares file for copy operation by downloading from storage and converting to blob source.
     * Accepts document fileId (AXPFileListItem or legacy string) and returns AXPFileListItem with blob source.
     */
    private prepareFileForCopy;
    /**
     * Gets the root folder for the given scope.
     * Backend returns only the root folder; path is built here for the explorer.
     */
    getRoot(scope: AXPPlatformScope): Promise<{
        path: AXMDocumentExplorerNode[];
        result: AXMDocumentExplorerNode;
    }>;
    /**
     * Gets a specific folder by ID.
     * Root for path is resolved from current session (security: only scope is used).
     */
    getFolder(scope: AXPPlatformScope, folderId: string): Promise<{
        path: AXMDocumentExplorerNode[];
        result: AXMDocumentExplorerNode;
    }>;
    /**
     * Creates a new folder
     */
    createFolder(data: AXMDocumentManagementFolderCreateDto): Promise<AXMDocumentExplorerNode>;
    /**
     * Updates an existing folder
     */
    updateFolder(folderId: string, data: UpdateFolderDto): Promise<AXMDocumentExplorerNode>;
    /**
     * Deletes a folder
     */
    deleteFolder(folderId: string): Promise<void>;
    /**
     * Gets available storage space
     */
    getAvailableSpace(): Promise<number>;
    /**
     * Creates a new file
     */
    createFile(data: CreateFileDto): Promise<AXMDocumentExplorerNode>;
    /**
     * Updates an existing file
     */
    updateFile(fileId: string, data: UpdateFileDto): Promise<AXMDocumentExplorerNode>;
    /**
     * Deletes a file
     */
    deleteFile(fileId: string): Promise<void>;
    /**
     * Opens a file
     */
    openFile(node: AXMDocumentExplorerNode): Promise<void>;
    /**
     * Downloads a file using the same logic as file-uploader component
     */
    downloadFile(node: AXMDocumentExplorerNode): Promise<void>;
    /**
     * Deletes multiple nodes (files and folders)
     */
    deleteNodes(nodes: AXMDocumentExplorerNode[]): Promise<void>;
    /**
     * Creates a copy of a node (file or folder)
     */
    copy(node: AXMDocumentExplorerNode): Promise<AXMDocumentExplorerNode>;
    /**
     * Moves a node to another location
     */
    moveTo(options: {
        node: AXMDocumentExplorerNode;
        scope: AXPPlatformScope;
        browseMode?: AXMDocumentExplorerBrowseMode;
        multiple?: boolean;
    }): Promise<boolean>;
    /**
     * Copies a node to another location
     */
    copyTo(options: {
        node: AXMDocumentExplorerNode;
        scope: AXPPlatformScope;
        browseMode?: AXMDocumentExplorerBrowseMode;
        multiple?: boolean;
    }): Promise<boolean>;
    /**
     * Searches for folders by term within a scope.
     * Root is resolved from current session when folderId is not provided.
     */
    searchFolders(searchTerm: string, scope: AXPPlatformScope, options?: {
        folderId?: string;
    }): Promise<AXMDocumentExplorerNode[]>;
    /**
     * Searches for files by term within a scope.
     * Root is resolved from current session when folderId is not provided.
     */
    searchFiles(searchTerm: string, scope: AXPPlatformScope, options?: {
        folderId?: string;
    }): Promise<AXMDocumentExplorerNode[]>;
    /**
     * Searches for both files and folders by term within a scope.
     */
    searchNodes(searchTerm: string, scope: AXPPlatformScope, options?: {
        folderId?: string;
    }): Promise<AXMDocumentExplorerNode[]>;
    /**
     * Gets all folders
     */
    getAllFolders(): Promise<AXMDocumentExplorerNode[]>;
    /**
     * Gets all files with optional query
     */
    getAllFiles(request?: AXPQueryRequest): Promise<AXMDocumentExplorerNode[]>;
    /**
     * Gets all nodes (files and folders)
     */
    getAllNodes(): Promise<AXMDocumentExplorerNode[]>;
    /**
     * Uploads file by document type to a specific folder
     */
    uploadFileByType(folderId: string, docTypeId: string): Promise<boolean>;
    /**
     * Uploads file by document type to a specific folder
     */
    updateUploadFileByType(node: AXMDocumentExplorerNode): Promise<boolean>;
    /**
     * Manage versions: Upload a new version for a specific document
     */
    uploadNewVersion(node: AXMDocumentExplorerNode): Promise<boolean>;
    /**
     * Opens version history popup using common version-history workflow
     */
    showVersionHistory(node: AXMDocumentExplorerNode): Promise<void>;
    /**
     * Shows share dialog for a node
     */
    showShareDialog(node: AXMDocumentExplorerNode): Promise<void>;
    /**
     * Shows share via email dialog for a node
     */
    showShareWithEmailDialog(node: AXMDocumentExplorerNode): Promise<void>;
    /**
     * Shows link dialog for a node
     */
    showLinkDialog(node: AXMDocumentExplorerNode): Promise<void>;
    /**
     * Shows lock dialog for a document
     */
    showLockDialog(node: AXMDocumentExplorerNode): Promise<boolean>;
    /**
     * Shows unlock dialog for a document
     */
    showUnlockDialog(node: AXMDocumentExplorerNode): Promise<boolean>;
    /**
     * Shows folder edit dialog
     */
    showFolderEditDialog(node: AXMDocumentExplorerNode): Promise<boolean>;
    /**
     * Shows create folder dialog
     */
    showCreateFolderDialog(parentId?: string): Promise<AXMDocumentExplorerNode | null>;
    /**
     * Shows rename popup for a node using dynamic form builder
     */
    showRenamePopup(node: AXMDocumentExplorerNode): Promise<AXMDocumentExplorerNode | undefined>;
    /**
     * Shows delete nodes confirmation dialog
     */
    showDeleteNodesDialog(nodeIds: AXMDocumentExplorerNode[]): Promise<boolean>;
    /**
     * Shows choose file dialog
     */
    showChooseFileDialog(scope: AXPPlatformScope): Promise<AXMDocumentExplorerNode[]>;
    /** File extensions supported by the gallery viewer (images + PDF). */
    static readonly GALLERY_EXTENSIONS: readonly ["jpg", "jpeg", "png", "gif", "bmp", "webp", "pdf"];
    /**
     * Returns nodes that are supported by the gallery (image/pdf extensions).
     */
    getGallerySupportedFiles(nodes: AXMDocumentExplorerNode[]): AXMDocumentExplorerNode[];
    /**
     * Shows file viewer popup using the gallery widget
     */
    showFileViewerPopup(node: AXMDocumentExplorerNode, options?: {
        index?: number;
        folderVirtualFiles?: AXMDocumentExplorerNode[];
    }): Promise<void>;
    /**
     * Updates a file name
     */
    updateFileName(node: AXMDocumentExplorerNode, name: string): Promise<AXMDocumentExplorerNode>;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMDocumentManagerServiceImpl, never>;
    static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMDocumentManagerServiceImpl>;
}
/**
 * Scoped drive service for specific platform scopes.
 * Backend resolves tenant/user from request context (client sends only scope).
 */
declare class ScopedDriveService {
    private parent;
    private scope;
    constructor(parent: AXMDocumentManagerService, scope: AXPPlatformScope);
    /**
     * Gets root folder for this scope (tenant/user from session).
     */
    getRoot(): Promise<{
        path: AXMDocumentExplorerNode[];
        result: AXMDocumentExplorerNode;
    }>;
    /**
     * Gets folder for this scope.
     */
    getFolder(folderId: string): Promise<{
        path: AXMDocumentExplorerNode[];
        result: AXMDocumentExplorerNode;
    }>;
    /**
     * Creates folder in this scope. Backend sets tenant/user from request context.
     */
    createFolder(data: Omit<AXMDocumentManagementFolderCreateDto, 'tenantId' | 'userId'>): Promise<AXMDocumentExplorerNode>;
    /**
     * Updates folder in this scope
     */
    updateFolder(folderId: string, data: UpdateFolderDto): Promise<AXMDocumentExplorerNode>;
    /**
     * Deletes folder in this scope
     */
    deleteFolder(folderId: string): Promise<void>;
    /**
     * Gets available space for this scope
     */
    getAvailableSpace(): Promise<number>;
    /**
     * Searches folders in this scope
     */
    searchFolders(searchTerm: string, options?: {
        folderId?: string;
    }): Promise<AXMDocumentExplorerNode[]>;
    /**
     * Searches files in this scope
     */
    searchFiles(searchTerm: string, options?: {
        folderId?: string;
    }): Promise<AXMDocumentExplorerNode[]>;
    /**
     * Searches nodes in this scope
     */
    searchNodes(searchTerm: string, options?: {
        folderId?: string;
    }): Promise<AXMDocumentExplorerNode[]>;
    /**
     * Creates a copy of a node in this scope
     */
    copy(node: AXMDocumentExplorerNode): Promise<AXMDocumentExplorerNode>;
}

declare class AXMDocumentExplorerComponent {
    #private;
    protected vm: {
        viewMode: _angular_core.Signal<AXPDocumentExplorerViewMode>;
        isLoading: _angular_core.Signal<boolean>;
        scope: _angular_core.Signal<AXPPlatformScope>;
        currentPath: _angular_core.Signal<AXMDocumentExplorerNode[]>;
        currentNode: _angular_core.Signal<AXMDocumentExplorerNode | null>;
        loadingFolderId: _angular_core.Signal<string | null>;
        navigatingFolderId: _angular_core.Signal<string | null>;
        backHistory: _angular_core.Signal<{
            folderId: string;
            path: AXMDocumentExplorerNode[];
        }[]>;
        selectionMode: _angular_core.Signal<AXMDocumentSelectionMode>;
        selectedNodes: _angular_core.Signal<AXMDocumentExplorerNode[]>;
        browseMode: _angular_core.Signal<AXMDocumentExplorerBrowseMode>;
        sortField: _angular_core.Signal<string>;
        sortDirection: _angular_core.Signal<string>;
        folders: _angular_core.Signal<AXMDocumentExplorerNode[]>;
        files: _angular_core.Signal<AXMDocumentExplorerNode[]>;
        itemsCount: _angular_core.Signal<number>;
        availableSpace: _angular_core.Signal<number>;
        currentDrive: _angular_core.Signal<AXPPlatformScope | null>;
        fileTypes: _angular_core.Signal<_acorex_platform_common.AXPFileType[]>;
        detailPanel: _angular_core.Signal<boolean>;
        isRoot: _angular_core.Signal<boolean>;
        isVirtual: _angular_core.Signal<boolean>;
        currentFolder: _angular_core.Signal<AXMDocumentExplorerNode | null>;
        currentFolderContents: _angular_core.Signal<{
            folders: AXMDocumentExplorerNode[];
            files: AXMDocumentExplorerNode[];
        }>;
        isLargeTilesView: _angular_core.Signal<boolean>;
        isSmallTilesView: _angular_core.Signal<boolean>;
        isListView: _angular_core.Signal<boolean>;
        isDetailsView: _angular_core.Signal<boolean>;
        isLargeIconsView: _angular_core.Signal<boolean>;
        isSmallIconsView: _angular_core.Signal<boolean>;
        isBackAvailable: _angular_core.Signal<boolean>;
        isUpAvailable: _angular_core.Signal<boolean>;
        selectedCount: _angular_core.Signal<number>;
        hasSelectedItems: _angular_core.Signal<boolean>;
        hasMultipleSelectedItems: _angular_core.Signal<boolean>;
        isMultiSelect: _angular_core.Signal<boolean>;
        selectedNode: _angular_core.Signal<AXMDocumentExplorerNode | null>;
        isDetailPanelOpen: _angular_core.Signal<boolean>;
        initialize: (options?: {
            scope?: AXPPlatformScope;
            browseMode?: AXMDocumentExplorerBrowseMode;
            filter?: any;
        }) => Promise<void>;
        navigateToFolder: (folderId: string) => void;
        loadFolderContents: (folderId: string) => Promise<void>;
        virtualFolder: (files?: AXMDocumentExplorerNode[], options?: {
            name?: string;
            parentId?: string;
        }) => Promise<void>;
        setViewMode: (mode: AXPDocumentExplorerViewMode | string) => void;
        isViewMode: (mode: AXPDocumentExplorerViewMode | string) => boolean;
        setSortField: (field: string) => void;
        setSortDirection: (direction: string) => void;
        setSelectionMode: (mode: AXMDocumentSelectionMode | string) => void;
        setDrive: (scope: AXPPlatformScope) => void;
        isLoadingFolder: (folderId: string) => boolean;
        getFileInfo: (fileName: string) => {
            icon: string;
            type: string;
        };
        getNodeInfo: (node: AXMDocumentExplorerNode) => {
            name: string;
            icon: string;
            type: string;
            sections: {
                title: string;
                details: {
                    title: string;
                    content?: any;
                    icon?: string;
                    format?: "datetime" | "filesize" | "number" | "string";
                }[];
            }[];
        };
        sortItems: (items: AXMDocumentExplorerNode[]) => AXMDocumentExplorerNode[];
        refresh: () => Promise<void>;
        navigateToUp: () => void;
        navigateBack: () => Promise<void>;
        openGalleryWithFolderId: () => Promise<void>;
        deleteNodes: (nodes?: AXMDocumentExplorerNode[]) => Promise<void>;
        toggleSelect: (node: AXMDocumentExplorerNode) => void;
        isItemSelected: (node: AXMDocumentExplorerNode) => boolean;
        selectAll: () => void;
        deselectAll: () => void;
        openDetailPanel: () => void;
        closeDetailPanel: () => void;
        toggleDetailPanel: () => void;
        getFolderAddMenuItems: () => Promise<_acorex_platform_core.AXPActionMenuItem[]>;
        getFolderActionMenuItems: () => Promise<_acorex_platform_core.AXPActionMenuItem[]>;
        getContextMenuItems: () => Promise<_acorex_platform_core.AXPActionMenuItem[]>;
        getFileContextMenuItems: (node: AXMDocumentExplorerNode) => Promise<AXMenuItem[]>;
        getFolderContextMenuItems: (node: AXMDocumentExplorerNode) => Promise<AXMenuItem[]>;
        getNodeContextMenuItems: (node: AXMDocumentExplorerNode) => Promise<AXMenuItem[]>;
        openFile: (node: AXMDocumentExplorerNode) => Promise<void>;
        handleMenuItemClick: (name: string, data: any) => Promise<void>;
        downloadFile: (node: AXMDocumentExplorerNode) => void;
        openGallery: (node: AXMDocumentExplorerNode) => Promise<void>;
        showFolderProperty: (node: AXMDocumentExplorerNode) => Promise<void>;
        createFolder: (node?: AXMDocumentExplorerNode) => Promise<void>;
        renameNode: (node?: AXMDocumentExplorerNode) => Promise<AXMDocumentExplorerNode | undefined>;
        makeCopy: (node?: AXMDocumentExplorerNode) => Promise<void>;
        isLocked: (node: AXMDocumentExplorerNode) => Promise<boolean>;
        lock: (node: AXMDocumentExplorerNode) => Promise<void>;
        unlock: (node: AXMDocumentExplorerNode) => Promise<void>;
        moveTo: (node?: AXMDocumentExplorerNode) => Promise<void>;
        copyTo: (node?: AXMDocumentExplorerNode) => Promise<void>;
        uploadFileByType: (folderId: string, documentTypeId: string) => Promise<void>;
    } & _ngrx_signals.StateSource<{
        viewMode: AXPDocumentExplorerViewMode;
        isLoading: boolean;
        scope: AXPPlatformScope;
        currentPath: AXMDocumentExplorerNode[];
        currentNode: AXMDocumentExplorerNode | null;
        loadingFolderId: string | null;
        navigatingFolderId: string | null;
        backHistory: {
            folderId: string;
            path: AXMDocumentExplorerNode[];
        }[];
        selectionMode: AXMDocumentSelectionMode;
        selectedNodes: AXMDocumentExplorerNode[];
        browseMode: AXMDocumentExplorerBrowseMode;
        sortField: string;
        sortDirection: string;
        folders: AXMDocumentExplorerNode[];
        files: AXMDocumentExplorerNode[];
        itemsCount: number;
        availableSpace: number;
        currentDrive: AXPPlatformScope | null;
        fileTypes: _acorex_platform_common.AXPFileType[];
        detailPanel: boolean;
    }>;
    protected contextMenu: _angular_core.Signal<AXContextMenuComponent | undefined>;
    protected rootContextMenu: _angular_core.Signal<AXContextMenuComponent | undefined>;
    protected driveService: AXMDocumentManagerService;
    protected translateService: AXTranslationService;
    protected readonly layout: {
        currentMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPThemeMode>;
        currentPalette: _angular_core.Signal<string>;
        systemThemeMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPThemeMode>;
        font: _ngrx_signals.DeepSignal<{
            family: string;
            size: string;
        }>;
        overlayLoading: _angular_core.Signal<boolean>;
        navigationLoading: _angular_core.Signal<boolean>;
        overlayLoadingTaskCount: _angular_core.Signal<number>;
        navigationLoadingTaskCount: _angular_core.Signal<number>;
        sideMenuState: _angular_core.Signal<_acorex_platform_themes_shared.AXPSideMenuState>;
        sideMenuWidth: _angular_core.Signal<number>;
        menuOrientation: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuOrientation>;
        isPrinting: _angular_core.Signal<boolean>;
        isDarkMode: _angular_core.Signal<boolean>;
        isLightMode: _angular_core.Signal<boolean>;
        isSystemMode: _angular_core.Signal<boolean>;
        isSideMenuOpen: _angular_core.Signal<boolean>;
        isOverlayLoading: _angular_core.Signal<boolean>;
        isNavigationLoading: _angular_core.Signal<boolean>;
        isMenuHorizontal: _angular_core.Signal<boolean>;
        changeThemeMode: (theme: _acorex_platform_themes_shared.AXPThemeMode) => void;
        openSideMenu: () => void;
        closeSideMenu: () => void;
        setSideMenuWidth: (width: number) => void;
        toggleSideMenu: () => void;
        setNavigationLoading: (value: boolean, delay?: number) => void;
        setOverlayLoading: (value: boolean, delay?: number) => void;
        loadSettings: () => Promise<void>;
    } & _ngrx_signals.StateSource<{
        currentMode: _acorex_platform_themes_shared.AXPThemeMode;
        currentPalette: string;
        systemThemeMode: _acorex_platform_themes_shared.AXPThemeMode;
        font: {
            family: string;
            size: string;
        };
        overlayLoading: boolean;
        navigationLoading: boolean;
        overlayLoadingTaskCount: number;
        navigationLoadingTaskCount: number;
        sideMenuState: _acorex_platform_themes_shared.AXPSideMenuState;
        sideMenuWidth: number;
        menuOrientation: _acorex_platform_themes_shared.AXPMenuOrientation;
        isPrinting: boolean;
    }>;
    browseMode: _angular_core.InputSignal<AXMDocumentExplorerBrowseMode>;
    viewMode: _angular_core.InputSignal<AXPDocumentExplorerViewMode | undefined>;
    selectionMode: _angular_core.InputSignal<AXMDocumentSelectionMode>;
    showContextMenu: _angular_core.InputSignal<boolean>;
    protected view: _angular_core.WritableSignal<Type<any> | null>;
    private viewMap;
    protected handleContextMenuOnOpening(e: AXContextMenuOpeningEvent): Promise<void>;
    protected handleContextMenuRootOnOpening(e: AXContextMenuOpeningEvent): Promise<void>;
    protected handleContextMenuItemClick(e: AXContextMenuItemsClickEvent): Promise<void>;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMDocumentExplorerComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXMDocumentExplorerComponent, "axm-document-explorer", never, { "browseMode": { "alias": "browseMode"; "required": false; "isSignal": true; }; "viewMode": { "alias": "viewMode"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "showContextMenu": { "alias": "showContextMenu"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}

declare const AXPDocumentExplorerViewModel: _angular_core.Type<{
    viewMode: _angular_core.Signal<AXPDocumentExplorerViewMode>;
    isLoading: _angular_core.Signal<boolean>;
    scope: _angular_core.Signal<AXPPlatformScope>;
    currentPath: _angular_core.Signal<AXMDocumentExplorerNode[]>;
    currentNode: _angular_core.Signal<AXMDocumentExplorerNode | null>;
    loadingFolderId: _angular_core.Signal<string | null>;
    navigatingFolderId: _angular_core.Signal<string | null>;
    backHistory: _angular_core.Signal<{
        folderId: string;
        path: AXMDocumentExplorerNode[];
    }[]>;
    selectionMode: _angular_core.Signal<AXMDocumentSelectionMode>;
    selectedNodes: _angular_core.Signal<AXMDocumentExplorerNode[]>;
    browseMode: _angular_core.Signal<AXMDocumentExplorerBrowseMode>;
    sortField: _angular_core.Signal<string>;
    sortDirection: _angular_core.Signal<string>;
    folders: _angular_core.Signal<AXMDocumentExplorerNode[]>;
    files: _angular_core.Signal<AXMDocumentExplorerNode[]>;
    itemsCount: _angular_core.Signal<number>;
    availableSpace: _angular_core.Signal<number>;
    currentDrive: _angular_core.Signal<AXPPlatformScope | null>;
    fileTypes: _angular_core.Signal<AXPFileType[]>;
    detailPanel: _angular_core.Signal<boolean>;
    isRoot: _angular_core.Signal<boolean>;
    isVirtual: _angular_core.Signal<boolean>;
    currentFolder: _angular_core.Signal<AXMDocumentExplorerNode | null>;
    currentFolderContents: _angular_core.Signal<{
        folders: AXMDocumentExplorerNode[];
        files: AXMDocumentExplorerNode[];
    }>;
    isLargeTilesView: _angular_core.Signal<boolean>;
    isSmallTilesView: _angular_core.Signal<boolean>;
    isListView: _angular_core.Signal<boolean>;
    isDetailsView: _angular_core.Signal<boolean>;
    isLargeIconsView: _angular_core.Signal<boolean>;
    isSmallIconsView: _angular_core.Signal<boolean>;
    isBackAvailable: _angular_core.Signal<boolean>;
    isUpAvailable: _angular_core.Signal<boolean>;
    selectedCount: _angular_core.Signal<number>;
    hasSelectedItems: _angular_core.Signal<boolean>;
    hasMultipleSelectedItems: _angular_core.Signal<boolean>;
    isMultiSelect: _angular_core.Signal<boolean>;
    selectedNode: _angular_core.Signal<AXMDocumentExplorerNode | null>;
    isDetailPanelOpen: _angular_core.Signal<boolean>;
    initialize: (options?: {
        scope?: AXPPlatformScope;
        browseMode?: AXMDocumentExplorerBrowseMode;
        filter?: any;
    }) => Promise<void>;
    navigateToFolder: (folderId: string) => void;
    loadFolderContents: (folderId: string) => Promise<void>;
    virtualFolder: (files?: AXMDocumentExplorerNode[], options?: {
        name?: string;
        parentId?: string;
    }) => Promise<void>;
    setViewMode: (mode: AXPDocumentExplorerViewMode | string) => void;
    isViewMode: (mode: AXPDocumentExplorerViewMode | string) => boolean;
    setSortField: (field: string) => void;
    setSortDirection: (direction: string) => void;
    setSelectionMode: (mode: AXMDocumentSelectionMode | string) => void;
    setDrive: (scope: AXPPlatformScope) => void;
    isLoadingFolder: (folderId: string) => boolean;
    getFileInfo: (fileName: string) => {
        icon: string;
        type: string;
    };
    getNodeInfo: (node: AXMDocumentExplorerNode) => {
        name: string;
        icon: string;
        type: string;
        sections: {
            title: string;
            details: {
                title: string;
                content?: any;
                icon?: string;
                format?: "datetime" | "filesize" | "number" | "string";
            }[];
        }[];
    };
    sortItems: (items: AXMDocumentExplorerNode[]) => AXMDocumentExplorerNode[];
    refresh: () => Promise<void>;
    navigateToUp: () => void;
    navigateBack: () => Promise<void>;
    openGalleryWithFolderId: () => Promise<void>;
    deleteNodes: (nodes?: AXMDocumentExplorerNode[]) => Promise<void>;
    toggleSelect: (node: AXMDocumentExplorerNode) => void;
    isItemSelected: (node: AXMDocumentExplorerNode) => boolean;
    selectAll: () => void;
    deselectAll: () => void;
    openDetailPanel: () => void;
    closeDetailPanel: () => void;
    toggleDetailPanel: () => void;
    getFolderAddMenuItems: () => Promise<AXPActionMenuItem[]>;
    getFolderActionMenuItems: () => Promise<AXPActionMenuItem[]>;
    getContextMenuItems: () => Promise<AXPActionMenuItem[]>;
    getFileContextMenuItems: (node: AXMDocumentExplorerNode) => Promise<AXMenuItem[]>;
    getFolderContextMenuItems: (node: AXMDocumentExplorerNode) => Promise<AXMenuItem[]>;
    getNodeContextMenuItems: (node: AXMDocumentExplorerNode) => Promise<AXMenuItem[]>;
    openFile: (node: AXMDocumentExplorerNode) => Promise<void>;
    handleMenuItemClick: (name: string, data: any) => Promise<void>;
    downloadFile: (node: AXMDocumentExplorerNode) => void;
    openGallery: (node: AXMDocumentExplorerNode) => Promise<void>;
    showFolderProperty: (node: AXMDocumentExplorerNode) => Promise<void>;
    createFolder: (node?: AXMDocumentExplorerNode) => Promise<void>;
    renameNode: (node?: AXMDocumentExplorerNode) => Promise<AXMDocumentExplorerNode | undefined>;
    makeCopy: (node?: AXMDocumentExplorerNode) => Promise<void>;
    isLocked: (node: AXMDocumentExplorerNode) => Promise<boolean>;
    lock: (node: AXMDocumentExplorerNode) => Promise<void>;
    unlock: (node: AXMDocumentExplorerNode) => Promise<void>;
    moveTo: (node?: AXMDocumentExplorerNode) => Promise<void>;
    copyTo: (node?: AXMDocumentExplorerNode) => Promise<void>;
    uploadFileByType: (folderId: string, documentTypeId: string) => Promise<void>;
} & _ngrx_signals.StateSource<{
    viewMode: AXPDocumentExplorerViewMode;
    isLoading: boolean;
    scope: AXPPlatformScope;
    currentPath: AXMDocumentExplorerNode[];
    currentNode: AXMDocumentExplorerNode | null;
    loadingFolderId: string | null;
    navigatingFolderId: string | null;
    backHistory: {
        folderId: string;
        path: AXMDocumentExplorerNode[];
    }[];
    selectionMode: AXMDocumentSelectionMode;
    selectedNodes: AXMDocumentExplorerNode[];
    browseMode: AXMDocumentExplorerBrowseMode;
    sortField: string;
    sortDirection: string;
    folders: AXMDocumentExplorerNode[];
    files: AXMDocumentExplorerNode[];
    itemsCount: number;
    availableSpace: number;
    currentDrive: AXPPlatformScope | null;
    fileTypes: AXPFileType[];
    detailPanel: boolean;
}>>;

declare enum AXPDocumentExplorerSettings {
    ViewMode = "DocumentManagement:Setting:DocumentExplorer.Layout.ViewMode",
    SortField = "DocumentManagement:Setting:DocumentExplorer.Layout.SortField",
    SortDirection = "DocumentManagement:Setting:DocumentExplorer.Layout.SortDirection"
}

declare class AXMDocumentDriveComponent extends AXPPageLayoutBaseComponent implements OnInit {
    #private;
    protected readonly rootConfig: {
        config: {
            i18n: string;
        };
        module: {
            module: string;
            name: string;
            title: string;
            icon: string;
        };
        entities: {
            folder: {
                name: string;
                title: string;
                titlePlural: string;
                icon: string;
            };
            document: {
                name: string;
                title: string;
                titlePlural: string;
                icon: string;
            };
            documentType: {
                name: string;
                title: string;
                titlePlural: string;
                icon: string;
            };
        };
    };
    protected readonly deviceService: AXPDeviceService;
    private readonly fileTypeService;
    private readonly driveService;
    protected readonly vm: {
        viewMode: _angular_core.Signal<_acorex_modules_document_management.AXPDocumentExplorerViewMode>;
        isLoading: _angular_core.Signal<boolean>;
        scope: _angular_core.Signal<AXPPlatformScope>;
        currentPath: _angular_core.Signal<_acorex_modules_document_management.AXMDocumentExplorerNode[]>;
        currentNode: _angular_core.Signal<_acorex_modules_document_management.AXMDocumentExplorerNode | null>;
        loadingFolderId: _angular_core.Signal<string | null>;
        navigatingFolderId: _angular_core.Signal<string | null>;
        backHistory: _angular_core.Signal<{
            folderId: string;
            path: _acorex_modules_document_management.AXMDocumentExplorerNode[];
        }[]>;
        selectionMode: _angular_core.Signal<AXMDocumentSelectionMode>;
        selectedNodes: _angular_core.Signal<_acorex_modules_document_management.AXMDocumentExplorerNode[]>;
        browseMode: _angular_core.Signal<_acorex_modules_document_management.AXMDocumentExplorerBrowseMode>;
        sortField: _angular_core.Signal<string>;
        sortDirection: _angular_core.Signal<string>;
        folders: _angular_core.Signal<_acorex_modules_document_management.AXMDocumentExplorerNode[]>;
        files: _angular_core.Signal<_acorex_modules_document_management.AXMDocumentExplorerNode[]>;
        itemsCount: _angular_core.Signal<number>;
        availableSpace: _angular_core.Signal<number>;
        currentDrive: _angular_core.Signal<AXPPlatformScope | null>;
        fileTypes: _angular_core.Signal<_acorex_platform_common.AXPFileType[]>;
        detailPanel: _angular_core.Signal<boolean>;
        isRoot: _angular_core.Signal<boolean>;
        isVirtual: _angular_core.Signal<boolean>;
        currentFolder: _angular_core.Signal<_acorex_modules_document_management.AXMDocumentExplorerNode | null>;
        currentFolderContents: _angular_core.Signal<{
            folders: _acorex_modules_document_management.AXMDocumentExplorerNode[];
            files: _acorex_modules_document_management.AXMDocumentExplorerNode[];
        }>;
        isLargeTilesView: _angular_core.Signal<boolean>;
        isSmallTilesView: _angular_core.Signal<boolean>;
        isListView: _angular_core.Signal<boolean>;
        isDetailsView: _angular_core.Signal<boolean>;
        isLargeIconsView: _angular_core.Signal<boolean>;
        isSmallIconsView: _angular_core.Signal<boolean>;
        isBackAvailable: _angular_core.Signal<boolean>;
        isUpAvailable: _angular_core.Signal<boolean>;
        selectedCount: _angular_core.Signal<number>;
        hasSelectedItems: _angular_core.Signal<boolean>;
        hasMultipleSelectedItems: _angular_core.Signal<boolean>;
        isMultiSelect: _angular_core.Signal<boolean>;
        selectedNode: _angular_core.Signal<_acorex_modules_document_management.AXMDocumentExplorerNode | null>;
        isDetailPanelOpen: _angular_core.Signal<boolean>;
        initialize: (options?: {
            scope?: AXPPlatformScope;
            browseMode?: _acorex_modules_document_management.AXMDocumentExplorerBrowseMode;
            filter?: any;
        }) => Promise<void>;
        navigateToFolder: (folderId: string) => void;
        loadFolderContents: (folderId: string) => Promise<void>;
        virtualFolder: (files?: _acorex_modules_document_management.AXMDocumentExplorerNode[], options?: {
            name?: string;
            parentId?: string;
        }) => Promise<void>;
        setViewMode: (mode: _acorex_modules_document_management.AXPDocumentExplorerViewMode | string) => void;
        isViewMode: (mode: _acorex_modules_document_management.AXPDocumentExplorerViewMode | string) => boolean;
        setSortField: (field: string) => void;
        setSortDirection: (direction: string) => void;
        setSelectionMode: (mode: AXMDocumentSelectionMode | string) => void;
        setDrive: (scope: AXPPlatformScope) => void;
        isLoadingFolder: (folderId: string) => boolean;
        getFileInfo: (fileName: string) => {
            icon: string;
            type: string;
        };
        getNodeInfo: (node: _acorex_modules_document_management.AXMDocumentExplorerNode) => {
            name: string;
            icon: string;
            type: string;
            sections: {
                title: string;
                details: {
                    title: string;
                    content?: any;
                    icon?: string;
                    format?: "datetime" | "filesize" | "number" | "string";
                }[];
            }[];
        };
        sortItems: (items: _acorex_modules_document_management.AXMDocumentExplorerNode[]) => _acorex_modules_document_management.AXMDocumentExplorerNode[];
        refresh: () => Promise<void>;
        navigateToUp: () => void;
        navigateBack: () => Promise<void>;
        openGalleryWithFolderId: () => Promise<void>;
        deleteNodes: (nodes?: _acorex_modules_document_management.AXMDocumentExplorerNode[]) => Promise<void>;
        toggleSelect: (node: _acorex_modules_document_management.AXMDocumentExplorerNode) => void;
        isItemSelected: (node: _acorex_modules_document_management.AXMDocumentExplorerNode) => boolean;
        selectAll: () => void;
        deselectAll: () => void;
        openDetailPanel: () => void;
        closeDetailPanel: () => void;
        toggleDetailPanel: () => void;
        getFolderAddMenuItems: () => Promise<AXPActionMenuItem[]>;
        getFolderActionMenuItems: () => Promise<AXPActionMenuItem[]>;
        getContextMenuItems: () => Promise<AXPActionMenuItem[]>;
        getFileContextMenuItems: (node: _acorex_modules_document_management.AXMDocumentExplorerNode) => Promise<_acorex_components_menu.AXMenuItem[]>;
        getFolderContextMenuItems: (node: _acorex_modules_document_management.AXMDocumentExplorerNode) => Promise<_acorex_components_menu.AXMenuItem[]>;
        getNodeContextMenuItems: (node: _acorex_modules_document_management.AXMDocumentExplorerNode) => Promise<_acorex_components_menu.AXMenuItem[]>;
        openFile: (node: _acorex_modules_document_management.AXMDocumentExplorerNode) => Promise<void>;
        handleMenuItemClick: (name: string, data: any) => Promise<void>;
        downloadFile: (node: _acorex_modules_document_management.AXMDocumentExplorerNode) => void;
        openGallery: (node: _acorex_modules_document_management.AXMDocumentExplorerNode) => Promise<void>;
        showFolderProperty: (node: _acorex_modules_document_management.AXMDocumentExplorerNode) => Promise<void>;
        createFolder: (node?: _acorex_modules_document_management.AXMDocumentExplorerNode) => Promise<void>;
        renameNode: (node?: _acorex_modules_document_management.AXMDocumentExplorerNode) => Promise<_acorex_modules_document_management.AXMDocumentExplorerNode | undefined>;
        makeCopy: (node?: _acorex_modules_document_management.AXMDocumentExplorerNode) => Promise<void>;
        isLocked: (node: _acorex_modules_document_management.AXMDocumentExplorerNode) => Promise<boolean>;
        lock: (node: _acorex_modules_document_management.AXMDocumentExplorerNode) => Promise<void>;
        unlock: (node: _acorex_modules_document_management.AXMDocumentExplorerNode) => Promise<void>;
        moveTo: (node?: _acorex_modules_document_management.AXMDocumentExplorerNode) => Promise<void>;
        copyTo: (node?: _acorex_modules_document_management.AXMDocumentExplorerNode) => Promise<void>;
        uploadFileByType: (folderId: string, documentTypeId: string) => Promise<void>;
    } & _ngrx_signals.StateSource<{
        viewMode: _acorex_modules_document_management.AXPDocumentExplorerViewMode;
        isLoading: boolean;
        scope: AXPPlatformScope;
        currentPath: _acorex_modules_document_management.AXMDocumentExplorerNode[];
        currentNode: _acorex_modules_document_management.AXMDocumentExplorerNode | null;
        loadingFolderId: string | null;
        navigatingFolderId: string | null;
        backHistory: {
            folderId: string;
            path: _acorex_modules_document_management.AXMDocumentExplorerNode[];
        }[];
        selectionMode: AXMDocumentSelectionMode;
        selectedNodes: _acorex_modules_document_management.AXMDocumentExplorerNode[];
        browseMode: _acorex_modules_document_management.AXMDocumentExplorerBrowseMode;
        sortField: string;
        sortDirection: string;
        folders: _acorex_modules_document_management.AXMDocumentExplorerNode[];
        files: _acorex_modules_document_management.AXMDocumentExplorerNode[];
        itemsCount: number;
        availableSpace: number;
        currentDrive: AXPPlatformScope | null;
        fileTypes: _acorex_platform_common.AXPFileType[];
        detailPanel: boolean;
    }>;
    protected readonly router: Router;
    protected readonly activatedRoute: ActivatedRoute;
    protected readonly filterItems: _angular_core.WritableSignal<{
        key: string;
        textKey: string;
        icon: string;
    }[]>;
    selectedFilter: _angular_core.WritableSignal<string>;
    protected searchQuery: string | null;
    private previousFolderId;
    protected readonly sortItems: _angular_core.WritableSignal<{
        key: string;
        textKey: string;
        icon: string;
    }[]>;
    protected readonly viewsItems: _angular_core.WritableSignal<({
        key: string;
        icon: string;
        break?: undefined;
    } | {
        key: string;
        icon: string;
        break: boolean;
    })[]>;
    protected readonly selectedViewMode: _angular_core.Signal<{
        key: string;
        icon: string;
        break?: undefined;
    } | {
        key: string;
        icon: string;
        break: boolean;
    }>;
    protected readonly selectionMode: _angular_core.WritableSignal<AXMDocumentSelectionMode>;
    protected documentExplorer: _angular_core.Signal<AXMDocumentExplorerComponent | undefined>;
    protected readonly selectedSort: _angular_core.Signal<{
        key: string;
        textKey: string;
        icon: string;
    }>;
    ngOnInit(): Promise<void>;
    handleSearchChange(event: AXValueChangedEvent): Promise<void>;
    private performSearch;
    handleCtrlKey(e: Event): void;
    handleCtrlKeyUp(e: Event): void;
    protected handleNavigateToFolder(folderId: string): void;
    private loadDrive;
    loadFilterItems(): Promise<void>;
    protected setFilter(key: string): void;
    protected getFilterIcon(): string;
    protected getFilterText(): string;
    getPrimaryMenuItems(): Promise<AXPActionMenuItem[]>;
    getSecondaryMenuItems(): Promise<AXPActionMenuItem[]>;
    getPageTitle(): Promise<string>;
    getPageDescription(): Promise<string>;
    getBackButton(): AXPBackButton | null;
    onBackButtonClick(): void | Promise<void>;
    getPageBreadcrumbs(): Promise<AXPBreadcrumbItem[]>;
    execute(command: AXPExecuteCommand): Promise<void>;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMDocumentDriveComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXMDocumentDriveComponent, "axp-document-drive", never, {}, {}, never, never, true, never>;
}

declare class AXMImageFileTypeProvider implements AXPFileTypeInfoProvider {
    items(): Promise<AXPFileType[]>;
}

declare class AXMVideoFileTypeProvider implements AXPFileTypeInfoProvider {
    items(): Promise<AXPFileType[]>;
}

declare class AXMDocumentFileTypeProvider implements AXPFileTypeInfoProvider {
    items(): Promise<AXPFileType[]>;
}

declare class AXMAudioFileTypeProvider implements AXPFileTypeInfoProvider {
    items(): Promise<AXPFileType[]>;
}

declare class AXMArchiveFileTypeProvider implements AXPFileTypeInfoProvider {
    items(): Promise<AXPFileType[]>;
}

declare class AXMCodeFileTypeProvider implements AXPFileTypeInfoProvider {
    items(): Promise<AXPFileType[]>;
}

declare class AXMFileTypeExtensionWidgetColumnComponent extends AXPValueWidgetComponent<any> {
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMFileTypeExtensionWidgetColumnComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXMFileTypeExtensionWidgetColumnComponent, "ng-component", never, { "rawValue": { "alias": "rawValue"; "required": false; }; }, {}, never, never, true, never>;
}

declare class AXMFileTypeExtensionWidgetDesignerComponent extends AXPValueWidgetComponent<any> {
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMFileTypeExtensionWidgetDesignerComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXMFileTypeExtensionWidgetDesignerComponent, "ng-component", never, { "rawValue": { "alias": "rawValue"; "required": false; }; }, {}, never, never, true, never>;
}

declare class AXMFileTypeExtensionWidgetEditComponent extends AXPValueWidgetComponent<any> {
    protected fileTypeService: AXPFileTypeProviderService;
    protected dataSource: AXDataSource<unknown>;
    selectedItems: _angular_core.WritableSignal<AXPFileType[]>;
    selectedItemsNotEmpty: _angular_core.WritableSignal<AXPFileType[]>;
    context: _angular_core.WritableSignal<any>;
    ngOnInit(): void;
    protected outputs(): string[];
    protected handleOnContextChange(e: AXPWidgetCoreContextChangeEvent): void;
    protected handleValueChange(e: AXValueChangedEvent): Promise<void>;
    protected getNode(meta: any): AXPWidgetNode;
    protected filedIsRequired(meta: any): boolean;
    protected hasMetaInExtensions(extensions: any[]): boolean;
    protected hasFields(item: AXPFileType): boolean;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMFileTypeExtensionWidgetEditComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXMFileTypeExtensionWidgetEditComponent, "ng-component", never, {}, {}, never, never, true, never>;
}

declare class AXMFileTypeExtensionWidgetViewComponent extends AXPValueWidgetComponent<any> {
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMFileTypeExtensionWidgetViewComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXMFileTypeExtensionWidgetViewComponent, "ng-component", never, { "rawValue": { "alias": "rawValue"; "required": false; }; }, {}, never, never, true, never>;
}

declare const AXmFileTypeExtensionWidget: AXPWidgetConfig;
declare module '@acorex/platform/layout/widget-core' {
    interface AXPWidgetTypesMap {
        fileTypeExtension: 'file-type-extension';
    }
}

declare class AXMFileTypeModule {
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMFileTypeModule, never>;
    static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXMFileTypeModule, never, never, never>;
    static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXMFileTypeModule>;
}

declare class AXMFolderPathBreadcrumbsComponent {
    protected vm: {
        viewMode: _angular_core.Signal<_acorex_modules_document_management.AXPDocumentExplorerViewMode>;
        isLoading: _angular_core.Signal<boolean>;
        scope: _angular_core.Signal<_acorex_platform_core.AXPPlatformScope>;
        currentPath: _angular_core.Signal<AXMDocumentExplorerNode[]>;
        currentNode: _angular_core.Signal<AXMDocumentExplorerNode | null>;
        loadingFolderId: _angular_core.Signal<string | null>;
        navigatingFolderId: _angular_core.Signal<string | null>;
        backHistory: _angular_core.Signal<{
            folderId: string;
            path: AXMDocumentExplorerNode[];
        }[]>;
        selectionMode: _angular_core.Signal<_acorex_modules_document_management.AXMDocumentSelectionMode>;
        selectedNodes: _angular_core.Signal<AXMDocumentExplorerNode[]>;
        browseMode: _angular_core.Signal<_acorex_modules_document_management.AXMDocumentExplorerBrowseMode>;
        sortField: _angular_core.Signal<string>;
        sortDirection: _angular_core.Signal<string>;
        folders: _angular_core.Signal<AXMDocumentExplorerNode[]>;
        files: _angular_core.Signal<AXMDocumentExplorerNode[]>;
        itemsCount: _angular_core.Signal<number>;
        availableSpace: _angular_core.Signal<number>;
        currentDrive: _angular_core.Signal<_acorex_platform_core.AXPPlatformScope | null>;
        fileTypes: _angular_core.Signal<_acorex_platform_common.AXPFileType[]>;
        detailPanel: _angular_core.Signal<boolean>;
        isRoot: _angular_core.Signal<boolean>;
        isVirtual: _angular_core.Signal<boolean>;
        currentFolder: _angular_core.Signal<AXMDocumentExplorerNode | null>;
        currentFolderContents: _angular_core.Signal<{
            folders: AXMDocumentExplorerNode[];
            files: AXMDocumentExplorerNode[];
        }>;
        isLargeTilesView: _angular_core.Signal<boolean>;
        isSmallTilesView: _angular_core.Signal<boolean>;
        isListView: _angular_core.Signal<boolean>;
        isDetailsView: _angular_core.Signal<boolean>;
        isLargeIconsView: _angular_core.Signal<boolean>;
        isSmallIconsView: _angular_core.Signal<boolean>;
        isBackAvailable: _angular_core.Signal<boolean>;
        isUpAvailable: _angular_core.Signal<boolean>;
        selectedCount: _angular_core.Signal<number>;
        hasSelectedItems: _angular_core.Signal<boolean>;
        hasMultipleSelectedItems: _angular_core.Signal<boolean>;
        isMultiSelect: _angular_core.Signal<boolean>;
        selectedNode: _angular_core.Signal<AXMDocumentExplorerNode | null>;
        isDetailPanelOpen: _angular_core.Signal<boolean>;
        initialize: (options?: {
            scope?: _acorex_platform_core.AXPPlatformScope;
            browseMode?: _acorex_modules_document_management.AXMDocumentExplorerBrowseMode;
            filter?: any;
        }) => Promise<void>;
        navigateToFolder: (folderId: string) => void;
        loadFolderContents: (folderId: string) => Promise<void>;
        virtualFolder: (files?: AXMDocumentExplorerNode[], options?: {
            name?: string;
            parentId?: string;
        }) => Promise<void>;
        setViewMode: (mode: _acorex_modules_document_management.AXPDocumentExplorerViewMode | string) => void;
        isViewMode: (mode: _acorex_modules_document_management.AXPDocumentExplorerViewMode | string) => boolean;
        setSortField: (field: string) => void;
        setSortDirection: (direction: string) => void;
        setSelectionMode: (mode: _acorex_modules_document_management.AXMDocumentSelectionMode | string) => void;
        setDrive: (scope: _acorex_platform_core.AXPPlatformScope) => void;
        isLoadingFolder: (folderId: string) => boolean;
        getFileInfo: (fileName: string) => {
            icon: string;
            type: string;
        };
        getNodeInfo: (node: AXMDocumentExplorerNode) => {
            name: string;
            icon: string;
            type: string;
            sections: {
                title: string;
                details: {
                    title: string;
                    content?: any;
                    icon?: string;
                    format?: "datetime" | "filesize" | "number" | "string";
                }[];
            }[];
        };
        sortItems: (items: AXMDocumentExplorerNode[]) => AXMDocumentExplorerNode[];
        refresh: () => Promise<void>;
        navigateToUp: () => void;
        navigateBack: () => Promise<void>;
        openGalleryWithFolderId: () => Promise<void>;
        deleteNodes: (nodes?: AXMDocumentExplorerNode[]) => Promise<void>;
        toggleSelect: (node: AXMDocumentExplorerNode) => void;
        isItemSelected: (node: AXMDocumentExplorerNode) => boolean;
        selectAll: () => void;
        deselectAll: () => void;
        openDetailPanel: () => void;
        closeDetailPanel: () => void;
        toggleDetailPanel: () => void;
        getFolderAddMenuItems: () => Promise<_acorex_platform_core.AXPActionMenuItem[]>;
        getFolderActionMenuItems: () => Promise<_acorex_platform_core.AXPActionMenuItem[]>;
        getContextMenuItems: () => Promise<_acorex_platform_core.AXPActionMenuItem[]>;
        getFileContextMenuItems: (node: AXMDocumentExplorerNode) => Promise<_acorex_components_menu.AXMenuItem[]>;
        getFolderContextMenuItems: (node: AXMDocumentExplorerNode) => Promise<_acorex_components_menu.AXMenuItem[]>;
        getNodeContextMenuItems: (node: AXMDocumentExplorerNode) => Promise<_acorex_components_menu.AXMenuItem[]>;
        openFile: (node: AXMDocumentExplorerNode) => Promise<void>;
        handleMenuItemClick: (name: string, data: any) => Promise<void>;
        downloadFile: (node: AXMDocumentExplorerNode) => void;
        openGallery: (node: AXMDocumentExplorerNode) => Promise<void>;
        showFolderProperty: (node: AXMDocumentExplorerNode) => Promise<void>;
        createFolder: (node?: AXMDocumentExplorerNode) => Promise<void>;
        renameNode: (node?: AXMDocumentExplorerNode) => Promise<AXMDocumentExplorerNode | undefined>;
        makeCopy: (node?: AXMDocumentExplorerNode) => Promise<void>;
        isLocked: (node: AXMDocumentExplorerNode) => Promise<boolean>;
        lock: (node: AXMDocumentExplorerNode) => Promise<void>;
        unlock: (node: AXMDocumentExplorerNode) => Promise<void>;
        moveTo: (node?: AXMDocumentExplorerNode) => Promise<void>;
        copyTo: (node?: AXMDocumentExplorerNode) => Promise<void>;
        uploadFileByType: (folderId: string, documentTypeId: string) => Promise<void>;
    } & _ngrx_signals.StateSource<{
        viewMode: _acorex_modules_document_management.AXPDocumentExplorerViewMode;
        isLoading: boolean;
        scope: _acorex_platform_core.AXPPlatformScope;
        currentPath: AXMDocumentExplorerNode[];
        currentNode: AXMDocumentExplorerNode | null;
        loadingFolderId: string | null;
        navigatingFolderId: string | null;
        backHistory: {
            folderId: string;
            path: AXMDocumentExplorerNode[];
        }[];
        selectionMode: _acorex_modules_document_management.AXMDocumentSelectionMode;
        selectedNodes: AXMDocumentExplorerNode[];
        browseMode: _acorex_modules_document_management.AXMDocumentExplorerBrowseMode;
        sortField: string;
        sortDirection: string;
        folders: AXMDocumentExplorerNode[];
        files: AXMDocumentExplorerNode[];
        itemsCount: number;
        availableSpace: number;
        currentDrive: _acorex_platform_core.AXPPlatformScope | null;
        fileTypes: _acorex_platform_common.AXPFileType[];
        detailPanel: boolean;
    }>;
    protected layout: {
        currentMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPThemeMode>;
        currentPalette: _angular_core.Signal<string>;
        systemThemeMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPThemeMode>;
        font: _ngrx_signals.DeepSignal<{
            family: string;
            size: string;
        }>;
        overlayLoading: _angular_core.Signal<boolean>;
        navigationLoading: _angular_core.Signal<boolean>;
        overlayLoadingTaskCount: _angular_core.Signal<number>;
        navigationLoadingTaskCount: _angular_core.Signal<number>;
        sideMenuState: _angular_core.Signal<_acorex_platform_themes_shared.AXPSideMenuState>;
        sideMenuWidth: _angular_core.Signal<number>;
        menuOrientation: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuOrientation>;
        isPrinting: _angular_core.Signal<boolean>;
        isDarkMode: _angular_core.Signal<boolean>;
        isLightMode: _angular_core.Signal<boolean>;
        isSystemMode: _angular_core.Signal<boolean>;
        isSideMenuOpen: _angular_core.Signal<boolean>;
        isOverlayLoading: _angular_core.Signal<boolean>;
        isNavigationLoading: _angular_core.Signal<boolean>;
        isMenuHorizontal: _angular_core.Signal<boolean>;
        changeThemeMode: (theme: _acorex_platform_themes_shared.AXPThemeMode) => void;
        openSideMenu: () => void;
        closeSideMenu: () => void;
        setSideMenuWidth: (width: number) => void;
        toggleSideMenu: () => void;
        setNavigationLoading: (value: boolean, delay?: number) => void;
        setOverlayLoading: (value: boolean, delay?: number) => void;
        loadSettings: () => Promise<void>;
    } & _ngrx_signals.StateSource<{
        currentMode: _acorex_platform_themes_shared.AXPThemeMode;
        currentPalette: string;
        systemThemeMode: _acorex_platform_themes_shared.AXPThemeMode;
        font: {
            family: string;
            size: string;
        };
        overlayLoading: boolean;
        navigationLoading: boolean;
        overlayLoadingTaskCount: number;
        navigationLoadingTaskCount: number;
        sideMenuState: _acorex_platform_themes_shared.AXPSideMenuState;
        sideMenuWidth: number;
        menuOrientation: _acorex_platform_themes_shared.AXPMenuOrientation;
        isPrinting: boolean;
    }>;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMFolderPathBreadcrumbsComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXMFolderPathBreadcrumbsComponent, "axm-folder-path-breadcrumbs", never, {}, {}, never, never, true, never>;
}

declare const AXPDocumentManagementFeatureKeys: {
    readonly MaxSizeStorage: "DocumentManagement:Feature:max-size-storage";
};

declare const AXPDocumentManagementMenuKeys: {
    readonly DocumentTypes: "document-management:menu:document-types";
    readonly TenantDrive: "document-management:drive:tenant";
    readonly UserDrive: "document-management:drive:user";
};

declare class AXMMenuProvider implements AXPMenuProvider {
    private entityService;
    private sessionService;
    provide(context: AXPMenuProviderContext): Promise<void>;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMMenuProvider, never>;
    static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMMenuProvider>;
}

declare const AXMPermissionsKeys: {
    DocumentManagement: {
        Management: string;
        DocumentType: {
            Management: string;
            View: string;
            Edit: string;
            Delete: string;
            Create: string;
        };
        Driver: {
            Management: string;
            View: string;
            Edit: string;
            Delete: string;
            Create: string;
        };
    };
};

declare class AXMSearchCommandProvider extends AXPSearchCommandProvider {
    commands: AXPSearchResult[];
}

declare class AXMSettingProvider implements AXPSettingDefinitionProvider {
    provide(context: AXPSettingDefinitionProviderContext): Promise<void>;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMSettingProvider, never>;
    static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMSettingProvider>;
}

export { AXMArchiveFileTypeProvider, AXMAudioFileTypeProvider, AXMCodeFileTypeProvider, AXMDocumentDriveComponent, AXMDocumentExplorerComponent, AXMDocumentFileTypeProvider, AXMDocumentManagementDocumentTypeEntityModule, AXMDocumentManagementModule, AXMDocumentManagerService, AXMDocumentManagerServiceImpl, AXMDocumentService, AXMDocumentServiceImpl, AXMDocumentTypeService, AXMDocumentTypeServiceImpl, AXMEntityProvider, AXMFileTypeExtensionWidgetColumnComponent, AXMFileTypeExtensionWidgetDesignerComponent, AXMFileTypeExtensionWidgetEditComponent, AXMFileTypeExtensionWidgetViewComponent, AXMFileTypeModule, AXMFolderPathBreadcrumbsComponent, AXMFolderService, AXMFolderServiceImpl, AXMImageFileTypeProvider, AXMMenuProvider, AXMPermissionsKeys, AXMSearchCommandProvider, AXMSettingProvider, AXMVideoFileTypeProvider, AXPDocumentExplorerSettings, AXPDocumentExplorerViewModel, AXPDocumentManagementFeatureKeys, AXPDocumentManagementMenuKeys, AXPDocumentManagementService, AXmFileTypeExtensionWidget, RootConfig, ScopedDriveService, documentEntityFactory, documentTypeFactory, folderEntityFactory };
export type { AXMDocumentDocDto, AXMDocumentDto, AXMDocumentExplorerBrowseMode, AXMDocumentExplorerNode, AXMDocumentInheritanceType, AXMDocumentManagementDocumentTypeEntityModel, AXMDocumentManagementFolderCreateDto, AXMDocumentManagementFolderEntityModel, AXMDocumentManagementFolderGetDto, AXMDocumentSelectionMode, AXMNodeType, AXPDocumentExplorerViewMode, CreateFileDto, CreateFolderDto, DocumentTypeFileOutput, UpdateFileDto, UpdateFolderDto };
