import { EventEmitter, ElementRef, OnInit, OnChanges, OnDestroy, NgZone, TemplateRef, Signal } from '@angular/core'; import { Menu } from 'primeng/menu'; import { MenuItem } from 'primeng/api'; import * as i0 from "@angular/core"; export type WidgetViewMode = 'view' | 'edit'; export type WidgetDataState = 'ready' | 'loading' | 'empty' | 'error'; /** * Base dashboard widget container with crispy styling * Provides consistent card styling, header, and action buttons */ export declare class DashboardWidgetBaseComponent implements OnInit, OnChanges, OnDestroy { private readonly el; private readonly zone; title: string; subtitle?: string; viewMode: WidgetViewMode; dataState: WidgetDataState; errorMessage?: string; emptyMessage?: string; showActions: boolean; showConfigure: boolean; showFooter: boolean; showHeader: boolean; showRename: boolean; showDuplicate: boolean; showDelete: boolean; extraViewMenuItems: MenuItem[]; statusIcon?: string; dragHandleTemplate?: TemplateRef; configure: EventEmitter; drilldown: EventEmitter; retry: EventEmitter; rename: EventEmitter; duplicate: EventEmitter; delete: EventEmitter; optionsMenu: Menu; viewOptionsMenu: Menu; /** Real-time gridstack unit dimensions (w × h badge) */ gsWidth: import("@angular/core").WritableSignal; gsHeight: import("@angular/core").WritableSignal; readonly menuItems: Signal; /** Call this to force menu model update when inputs change */ ngOnChanges(): void; /** Flattened view menu items — stable reference, rebuilt only on input change */ _flattenedViewMenuItems: MenuItem[]; /** Flatten nested items since p-menu doesn't support submenus */ private _flattenMenuItems; private observer; constructor(el: ElementRef, zone: NgZone); ngOnInit(): void; ngOnDestroy(): void; private readSize; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }