import { EventEmitter, QueryList, TemplateRef } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
import { Breadcrumb } from '../breadcrumbs/index';
import { PageHeaderIconMenu } from './interfaces';
import { PageHeaderNavigationItem } from './navigation/navigation.component';
import { PageHeaderNavigation } from './page-header.service';
import * as i0 from "@angular/core";
export type PageHeaderNavigationAlignment = 'left' | 'right' | 'center';
export declare class PageHeaderComponent {
    private readonly _colorService;
    private readonly _pageHeaderService;
    /** The path to an image to display as the product logo in the left corner. */
    logo: string;
    /** The product acronym to display in the left corner. This will only be displayed if logo is unset; otherwise it will be used as the alt text for the logo. */
    header: string;
    /** The optional header to display on the left side of the masthead. */
    subheader: string;
    /** The alignment of the primary navigation tabs. */
    alignment: PageHeaderNavigationAlignment;
    /** Determines whether or not to display the page header in the regular or condensed form. */
    condensed: boolean;
    /** The list of icon menus to display in the top right area of the page header. */
    iconMenus: PageHeaderIconMenu[];
    /** Determines whether or not a back button should be visible in the page header. */
    backVisible: boolean;
    /** The alignment of the secondary navigation tabs. */
    secondaryNavigationAlignment: PageHeaderNavigationAlignment;
    /** If set, the first child item will get selected when the parent item is selected. */
    set secondaryNavigationAutoselect(value: boolean);
    get secondaryNavigationAutoselect(): boolean;
    /** The primary navigation tabs. Use the children property in combination with [secondaryNavigation]="true" to include secondary navigation tabs. */
    set items(items: PageHeaderNavigationItem[]);
    /** Whether to show a second level of navigation for any items with children. */
    set secondaryNavigation(enabled: boolean);
    get secondaryNavigation(): boolean;
    /** The optional set of breadcrumbs to display on the left side of the masthead. */
    set crumbs(crumbs: Breadcrumb[]);
    get crumbs(): Breadcrumb[];
    /**
     * The style of the breadcrumbs.
     *   - standard: The breadcrumbs use the same styling as the navigation tabs.
     *   - small: The breadcrumbs use a smaller font, and case is not adjusted.
     */
    crumbsStyle: 'standard' | 'small';
    /** The logo background color. This can either be the name of a color from the color palette, or a CSS color value. */
    set logoBackground(color: string);
    get logoBackground(): string;
    /** The logo text color, when a product acronym is specified via header. This can either be the name of a color from the color palette, or a CSS color value. */
    set logoForeground(color: string);
    get logoForeground(): string;
    get _hasLogoClick(): boolean;
    /** Emit whenever the back button is clicked */
    backClick: EventEmitter<MouseEvent>;
    /** Emit whenever the product logo in the left corner is clicked. */
    logoClick: EventEmitter<Event>;
    /** Access a custom subheader template */
    subheaderTemplate: TemplateRef<void>;
    /** Define a custom logo template  */
    logoTemplate: TemplateRef<void>;
    /** Define a leading content secondary navigation template */
    secondaryNavigationLeadingContentTemplate: TemplateRef<void>;
    /** Define a trailing content secondary navigation template */
    secondaryNavigationTrailingContentTemplate: TemplateRef<void>;
    /** Access all the custom menu TemplateRefs */
    customMenus: QueryList<TemplateRef<void>>;
    /** The currently selected page header item */
    selected$: BehaviorSubject<PageHeaderNavigationItem>;
    /** The currently selected root menu item - this may be different from selected$ if a child menu item is selected */
    selectedRoot$: BehaviorSubject<PageHeaderNavigationItem>;
    private _crumbs;
    private _logoBackground;
    private _logoForeground;
    select(item: PageHeaderNavigation, navigate: boolean): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<PageHeaderComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<PageHeaderComponent, "ux-page-header", ["ux-page-header"], { "logo": { "alias": "logo"; "required": false; }; "header": { "alias": "header"; "required": false; }; "subheader": { "alias": "subheader"; "required": false; }; "alignment": { "alias": "alignment"; "required": false; }; "condensed": { "alias": "condensed"; "required": false; }; "iconMenus": { "alias": "iconMenus"; "required": false; }; "backVisible": { "alias": "backVisible"; "required": false; }; "secondaryNavigationAlignment": { "alias": "secondaryNavigationAlignment"; "required": false; }; "secondaryNavigationAutoselect": { "alias": "secondaryNavigationAutoselect"; "required": false; }; "items": { "alias": "items"; "required": false; }; "secondaryNavigation": { "alias": "secondaryNavigation"; "required": false; }; "crumbs": { "alias": "crumbs"; "required": false; }; "crumbsStyle": { "alias": "crumbsStyle"; "required": false; }; "logoBackground": { "alias": "logoBackground"; "required": false; }; "logoForeground": { "alias": "logoForeground"; "required": false; }; }, { "backClick": "backClick"; "logoClick": "logoClick"; }, ["subheaderTemplate", "logoTemplate", "secondaryNavigationLeadingContentTemplate", "secondaryNavigationTrailingContentTemplate", "customMenus"], never, false, never>;
}
