import { AfterViewInit, ElementRef, OnInit, TemplateRef } from '@angular/core';
import { MatMenuTrigger } from '@angular/material/menu';
import { TsButtonFormatTypes } from '@terminus/ui/button';
import { TsStyleThemeTypes } from '@terminus/ui/utilities';
/**
* Define the allowed X positions for a menu
*/
export declare type TsMenuPositionTypesX = 'before' | 'after';
/**
* Define the allowed Y positions for a menu
*/
export declare type TsMenuPositionTypesY = 'above' | 'below';
/**
* Define the allowed trigger types for a menu
*/
export declare type TsMenuTriggerTypes = 'default' | 'utility';
/**
* A presentational component to render a dropdown menu.
*
* @example
* Select Item
*
* https://getterminus.github.io/ui-demos-release/components/menu
*/
export declare class TsMenuComponent implements AfterViewInit, OnInit {
/**
* Define the default icon for the trigger button
*/
private TRIGGER_ICON_DEFAULT;
/**
* Define the utility icon for the trigger button
*/
private TRIGGER_ICON_UTILITY;
/**
* Return if the current menu is a utility menu
*/
get isUtilityMenu(): boolean;
/**
* Define if the menu should overlap the trigger
*/
shouldOverlapTrigger: boolean;
/**
* The icon to be used in the trigger button
*/
triggerIcon: 'arrow_drop_down' | 'more_vert';
/**
* Provide access to the trigger
*/
trigger: MatMenuTrigger;
/**
* Define if the menu should be opened by default
*/
defaultOpened: boolean;
/**
* Define the button format
*/
format: TsButtonFormatTypes;
/**
* Define if the menu should be disabled
*/
isDisabled: boolean;
/**
* Allow a custom template for menu items
*/
menuItemsTemplate: TemplateRef;
/**
* Define the X menu position
*/
menuPositionX: TsMenuPositionTypesX;
/**
* Define the Y menu position
*/
menuPositionY: TsMenuPositionTypesY;
/**
* Define the menu theme
*/
theme: TsStyleThemeTypes;
/**
* Define the type of trigger {@link TsMenuTriggerTypes}
*
* - 'utility' will expose a simple fab trigger: `⋮`
* - 'default' will expose a standard {@link TsButtonComponent}
*/
triggerType: TsMenuTriggerTypes;
/**
* Set the triggerIcon based on the triggerType
*/
ngOnInit(): void;
/**
* After the view has initialized, open the menu if it is defaulted to 'open'
*/
ngAfterViewInit(): void;
}