import { EventEmitter } from '@angular/core';
import { ThemeService } from '../../../services/theme.service';
import { NavigationService } from '../../../services/navigation';
import { PageContentMetadata } from './types';
import * as i0 from "@angular/core";
/**
 * val-page-content
 *
 * A page content template with corporate header, main content area,
 * and footer slots. Supports dark mode and customizable backgrounds.
 *
 * @example
 * <val-page-content
 *   [props]="{
 *     header: { ... },
 *     background: '--main-background',
 *     homeRoute: '/'
 *   }"
 *   (onHeaderClick)="handleHeaderAction($event)"
 * >
 *   <div content>
 *     <!-- Main page content -->
 *   </div>
 *   <div footer>
 *     <val-company-footer [props]="footerProps"></val-company-footer>
 *   </div>
 * </val-page-content>
 *
 * @input props - Page content configuration
 * @output onHeaderClick - Emits when a header action is clicked
 */
export declare class PageContentComponent {
    private theme;
    private nav;
    /**
     * Page content configuration.
     */
    props: PageContentMetadata;
    private appConfigEnabled;
    constructor(theme: ThemeService, nav: NavigationService);
    /**
     * Whether to show the update banner.
     * Only shows if AppConfigService is configured and not disabled via props.
     */
    get showUpdateBanner(): boolean;
    /**
     * Emits when a header action is clicked.
     */
    onHeaderClick: EventEmitter<string>;
    private _hpInputs;
    private _hpCache;
    /**
     * Default header configuration (cached to avoid infinite change detection).
     */
    private readonly defaultHeader;
    /**
     * Gets header props, using cached default if not provided.
     * Memoized to return a stable object reference when inputs haven't changed,
     * preventing cascading change detection cycles in child components.
     */
    get headerProps(): any;
    /**
     * Gets the background color based on theme.
     */
    getBackground(): string;
    /**
     * Handles header action clicks.
     */
    onHeaderClickHandler(token: string): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<PageContentComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<PageContentComponent, "val-page-content", never, { "props": { "alias": "props"; "required": false; }; }, { "onHeaderClick": "onHeaderClick"; }, never, ["[content]", "[footer]", "[extra-footer]"], true, never>;
}
