import { EventEmitter } from '@angular/core'; import { SafeHtml } from '@angular/platform-browser'; import { DropdownMenuItem, DropdownMenuKind } from './dropdown-types'; import * as i0 from "@angular/core"; /** * The standalone popover surface of the dropdown — a `surface-container-lowest` * card at `radius-md`/elevation-2 holding a 4px-padded stack of 48px rows (icon, * label, optional inline supporting text). It serves two ARIA contracts: an * action `menu` (rows are `menuitem`s) and a select `listbox` (rows are * `option`s with `aria-selected`). * * The consumer owns visibility and positioning (render it inline, or inside a * CDK overlay). `compsych-dropdown` composes the same visual language for the * panel it opens; this component exposes it for standalone action menus. */ export declare class DropdownMenuComponent { private readonly sanitizer; /** Rows to render. */ items: DropdownMenuItem[]; /** ARIA contract: `'menu'` (default, action menu) or `'listbox'` (select). */ kind: DropdownMenuKind; /** In `listbox` mode, the id (or label) of the currently-selected row. */ selectedId?: string; /** Default Lucide icon shown before every row's label; each item's own `icon` (from the Icon Mapping) overrides it. */ leadingIcon?: string; /** Denser variant — one type-ramp step down, rows hug to 44px. Supports boolean coercion. */ compact: boolean; /** * Accessible name for the list. Required in `listbox` mode when no external * labelled control owns the menu (a nameless listbox fails accessibility checks). */ ariaLabel?: string; /** Emits the chosen row (disabled rows never emit). */ readonly itemSelect: EventEmitter; private readonly iconCache; protected iconSvg(name: string | undefined): SafeHtml; protected select(item: DropdownMenuItem): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; static ngAcceptInputType_compact: unknown; }