import { EventEmitter } from '@angular/core';
import { ContainerPadding, ContainerSize } from '../../atoms/container/types';
import { ThemeService } from '../../../services/theme.service';
import { NavigationService } from '../../../services/navigation';
import { PageContentMetadata } from './types';
import { PageRefreshService } from '../../../services/page-refresh/page-refresh.service';
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
*
*
*
*
*
*
*
*
*
* @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;
/**
* Oculta la línea legal del pie.
*
* Para el caso raro de verdad (un kiosco a pantalla completa, una vista
* embebida), NO para que cada pantalla decida si corresponde: esa decisión
* repartida es la que dejó pantallas públicas sin pie y otras con dos.
*/
/**
* Oculta la línea legal.
*
* La ponen las vistas PÚBLICAS; en la experiencia logeada el pie es el
* bottom-nav y un copyright ahí rompe la sensación de app. Como este template
* lo usan pantallas de los dos lados, las autenticadas tienen que apagarlo.
*
* Intenté que la lib lo dedujera sola (chrome de app, ruta con guard) y no
* hay señal confiable: en Bingo el shell existe también en rutas públicas, de
* modo que detectar por chrome habría escondido el pie donde sí corresponde.
* La red contra el olvido no es magia sino el spec `rights-footer-audit`, que
* recorre rutas públicas y autenticadas de cada app y cuenta.
*/
hideRightsFooter: boolean;
private appConfigEnabled;
/** Bus del pull-to-refresh — la página activa registra su handler aquí. */
protected pageRefresh: PageRefreshService;
constructor(theme: ThemeService, nav: NavigationService);
/**
* Handler del gesto pull-to-refresh (`ion-refresher` ionRefresh). Delega en
* el handler que registró la página activa y cierra el spinner al terminar.
*/
onPageRefresh(event: Event): Promise;
/**
* 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;
get contentMaxWidth(): ContainerSize;
get contentPadding(): ContainerPadding;
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;
static ɵcmp: i0.ɵɵComponentDeclaration;
}