import { FocusOrigin } from "@angular/cdk/a11y"; import { Direction } from "@angular/cdk/bidi"; import { ScrollStrategy } from "@angular/cdk/overlay"; import { EventEmitter, InjectionToken, TemplateRef } from "@angular/core"; import { RealsoftMenuContent } from "./menu-content"; export type RealsoftMenuPositionY = 'above' | 'below'; export type RealsoftMenuPositionX = 'before' | 'after'; export type RealsoftMenuCloseReason = void | 'click' | 'keydown' | 'tab'; export interface RealsoftMenuDefaultOptions { xPosition: RealsoftMenuPositionX; yPosition: RealsoftMenuPositionY; overlapTrigger: boolean; backdropClass: string; overlayPanelClass?: string | string[]; hasBackdrop?: boolean; } export declare const REALSOFT_MENU_DEFAULT_OPTIONS: InjectionToken; export declare function REALSOFT_MENU_DEFAULT_OPTIONS_FACTORY(): RealsoftMenuDefaultOptions; export interface RealsoftMenuPanel { xPosition: RealsoftMenuPositionX; yPosition: RealsoftMenuPositionY; overlapTrigger: boolean; templateRef: TemplateRef; readonly close?: EventEmitter; parentMenu?: RealsoftMenuPanel | undefined; direction?: Direction; focusFirstItem: (origin?: FocusOrigin) => void; resetActiveItem: () => void; setPositionClasses?: (x: RealsoftMenuPositionX, y: RealsoftMenuPositionY) => void; setElevation?(depth: number): void; lazyContent?: RealsoftMenuContent; backdropClass?: string; overlayPanelClass?: string | string[]; hasBackdrop?: boolean; readonly panelId?: string; addItem?: (item: T) => void; removeItem?: (item: T) => void; } export declare const REALSOFT_MENU_PANEL: InjectionToken>; export declare const REALSOFT_MENU_SCROLL_STRATEGY: InjectionToken<() => ScrollStrategy>;