import * as i0 from '@angular/core';
import { AfterViewInit, ElementRef, OnInit, AfterContentInit, OnDestroy, QueryList } from '@angular/core';
import * as i4 from '@angular/material/menu';
import { MatMenuTrigger } from '@angular/material/menu';
import * as i3 from '@angular/material/button';
import * as i5 from '@angular/material/icon';
import * as i6 from '@angular/material/tooltip';

declare class TdBreadcrumbComponent implements AfterViewInit {
    private _changeDetectorRef;
    private _displayCrumb;
    private _width;
    private _displayIcon;
    private _separatorIcon;
    private _shouldTruncate;
    private _maxWidth?;
    elementRef: ElementRef<any>;
    fullText: string;
    flexOrder: number;
    isCurrentPage: boolean;
    get ariaCurrent(): string | null;
    matButtonClass: boolean;
    tdBreadCrumbClass: boolean;
    get separatorIcon(): string;
    set separatorIcon(separatorIcon: string);
    get displayIcon(): boolean;
    set displayIcon(displayIcon: boolean);
    get shouldTruncate(): boolean;
    set shouldTruncate(shouldTruncate: boolean);
    get maxWidth(): number | undefined;
    set maxWidth(maxWidth: number | undefined);
    get displayCrumb(): boolean;
    /**
     * Whether to display the crumb or not
     */
    set displayCrumb(shouldDisplay: boolean);
    /**
     * Width of the DOM element of the crumb
     */
    get width(): number;
    /**
     * Gets the display style of the crumb
     */
    get displayBinding(): string | undefined;
    get maxWidthBinding(): number | undefined;
    get orderBinding(): number;
    ngAfterViewInit(): void;
    /**
     * Stop click propagation when clicking on icon
     */
    _handleIconClick(event: Event): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TdBreadcrumbComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TdBreadcrumbComponent, "td-breadcrumb, a[td-breadcrumb]", never, {}, {}, never, ["*"], true, never>;
}

declare class TdBreadcrumbsComponent implements OnInit, AfterContentInit, AfterViewInit, OnDestroy {
    private _elementRef;
    private _changeDetectorRef;
    private _resizing;
    private _separatorIcon;
    private _destroy$;
    /**
     * Maximum width ratio for the last breadcrumb when truncation is needed.
     * Set to 35% of available width to ensure last breadcrumb doesn't dominate the space
     * while still being readable.
     */
    private readonly LAST_BREADCRUMB_MAX_WIDTH_RATIO;
    tdBreadCrumbsClass: boolean;
    role: string;
    ariaLabel: string;
    _breadcrumbs: QueryList<TdBreadcrumbComponent>;
    hiddenBreadcrumbs: TdBreadcrumbComponent[];
    overflowMenuItems: TdBreadcrumbComponent[];
    showOverflowButton: boolean;
    overflowButtonOrder: number;
    overflowMenuTrigger?: MatMenuTrigger;
    /**
     * Sets the icon url shown between breadcrumbs. Defaults to 'chevron_right'.
     */
    set separatorIcon(separatorIcon: string);
    get separatorIcon(): string;
    size?: 'headline1' | 'headline2' | 'headline3' | 'headline4' | 'headline5' | 'headline6' | 'subtitle1' | 'subtitle2' | 'body1' | 'body2' | 'button' | 'caption';
    get fontFamily(): string | undefined;
    get fontSize(): string | undefined;
    get fontWeight(): string | undefined;
    get lineHeight(): string | undefined;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngAfterContentInit(): void;
    ngOnDestroy(): void;
    get nativeElementWidth(): number;
    /**
     * The total count of individual breadcrumbs
     */
    get count(): number;
    get overflowButtonAriaLabel(): string;
    handleOverflowItemClick(item: TdBreadcrumbComponent): void;
    getItemText(item: TdBreadcrumbComponent): string;
    /**
     * Set the crumb icon separators
     */
    private setCrumbIcons;
    private _calculateVisibility;
    private _waitToCalculateVisibility;
    static ɵfac: i0.ɵɵFactoryDeclaration<TdBreadcrumbsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TdBreadcrumbsComponent, "td-breadcrumbs", never, { "separatorIcon": { "alias": "separatorIcon"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, ["_breadcrumbs"], ["*"], true, never>;
}

/**
 * @deprecated This module is deprecated and will be removed in future versions.
 * Please migrate to using standalone components as soon as possible.
 */
declare class CovalentBreadcrumbsModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<CovalentBreadcrumbsModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<CovalentBreadcrumbsModule, never, [typeof TdBreadcrumbsComponent, typeof TdBreadcrumbComponent, typeof i3.MatButtonModule, typeof i4.MatMenuModule, typeof i5.MatIconModule, typeof i6.MatTooltipModule], [typeof TdBreadcrumbsComponent, typeof TdBreadcrumbComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<CovalentBreadcrumbsModule>;
}

export { CovalentBreadcrumbsModule, TdBreadcrumbComponent, TdBreadcrumbsComponent };
