/*!
 * @license
 * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import { EventEmitter, OnChanges, OnInit } from '@angular/core';
import { MatSelect } from '@angular/material/select';
import { Node, PathElement } from '@alfresco/js-api';
import { DocumentListComponent } from '../document-list/components/document-list.component';
import * as i0 from "@angular/core";
export declare class BreadcrumbComponent implements OnInit, OnChanges {
    /** Active node, builds UI based on folderNode.path.elements collection. */
    folderNode: Node;
    /**
     * Name of the root element of the breadcrumb. You can use
     * this property to rename "Company Home" to "Personal Files" for
     * example. You can use an i18n resource key for the property value.
     */
    root?: string;
    /**
     * The id of the root element. You can use this property
     * to set a custom element the breadcrumb should start with.
     */
    rootId?: string;
    /**
     * Document List component to operate with. The list will
     * update when the breadcrumb is clicked.
     */
    target?: DocumentListComponent;
    /**
     * Transformation to be performed on the chosen/folder node before building
     * the breadcrumb UI. Can be useful when custom formatting is needed for the
     * breadcrumb. You can change the path elements from the node that are used to
     * build the breadcrumb using this function.
     */
    transform: (node: any) => any;
    dropdown: MatSelect;
    /** Maximum number of nodes to display before wrapping them with a dropdown element.  */
    maxItems: number;
    /** Number of table rows that are currently selected.  */
    selectedRowItemsCount: number;
    previousNodes: PathElement[];
    lastNodes: PathElement[];
    route: PathElement[];
    private readonly destroyRef;
    get hasRoot(): boolean;
    /** If true, prevents the user from navigating away from the active node. */
    readOnly: boolean;
    /** Emitted when the user clicks on a breadcrumb. */
    navigate: EventEmitter<PathElement>;
    ngOnInit(): void;
    ngOnChanges(): void;
    protected recalculateNodes(): void;
    open(): void;
    hasPreviousNodes(): boolean;
    parseRoute(node: Node): PathElement[];
    private getElementPosition;
    breadcrumbItemIsAnchor(lastItem: any): boolean;
    onRoutePathClick(route: PathElement, event?: Event): void;
    onRouteClick(route: PathElement): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<BreadcrumbComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BreadcrumbComponent, "adf-breadcrumb", never, { "folderNode": { "alias": "folderNode"; "required": true; }; "root": { "alias": "root"; "required": false; }; "rootId": { "alias": "rootId"; "required": false; }; "target": { "alias": "target"; "required": false; }; "transform": { "alias": "transform"; "required": false; }; "maxItems": { "alias": "maxItems"; "required": false; }; "selectedRowItemsCount": { "alias": "selectedRowItemsCount"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; }, { "navigate": "navigate"; }, never, never, true, never>;
}
