import { AfterContentInit, OnChanges, QueryList, SimpleChanges, TemplateRef } from '@angular/core'; import { PageMenuItemDirective } from './page-menu-item.directive'; import * as i0 from "@angular/core"; /** * Interface representing a menu item in the page menu. */ export interface PageMenuItem { /** Display label for the menu tab */ label: string; /** Unique identifier matching the pageMenuItem directive name */ name: string; } /** * PageMenuComponent provides a tabbed navigation interface using Angular Material tabs. * * This component allows you to define menu items with custom content templates using * content projection. Each tab's content is defined using the `pageMenuItem` directive. * * @example * ```html * * *

Overview Content

*
* *

Details Content

*
*
* ``` * * @example * ```typescript * tabs: PageMenuItem[] = [ * { label: 'Overview', name: 'overview' }, * { label: 'Details', name: 'details' } * ]; * ``` */ export declare class PageMenuComponent implements AfterContentInit, OnChanges { /** * Array of menu items to display as tabs. * Each item must have a corresponding ng-template with matching pageMenuItem name. */ menuItems: PageMenuItem[]; /** Query list of all content templates projected with pageMenuItem directive */ itemTemplates: QueryList; /** Internal map for fast template lookup by name */ private templateMap; /** * Lifecycle hook that initializes the template map after content children are available. */ ngAfterContentInit(): void; /** * Lifecycle hook that responds to input property changes. */ ngOnChanges(changes: SimpleChanges): void; /** * Builds or rebuilds the internal template map from content children. */ private buildTemplateMap; /** * Retrieves the template for a given menu item name. * * @param name - The unique identifier of the menu item * @returns The template reference if found, null otherwise */ getTemplate(name: string): TemplateRef | null; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }