import { ComponentHarness, BaseHarnessFilters, HarnessPredicate, TestKey } from '@angular/cdk/testing'; /** Harness filters for ComMenuItemHarness. */ interface ComMenuItemHarnessFilters extends BaseHarnessFilters { /** Filter by the item's text content. */ text?: string | RegExp; /** Filter by whether the item is disabled. */ disabled?: boolean; } /** Harness filters for ComMenuItemCheckboxHarness. */ interface ComMenuItemCheckboxHarnessFilters extends BaseHarnessFilters { /** Filter by the item's text content. */ text?: string | RegExp; /** Filter by whether the item is disabled. */ disabled?: boolean; /** Filter by whether the item is checked. */ checked?: boolean; } /** Harness filters for ComMenuItemRadioHarness. */ interface ComMenuItemRadioHarnessFilters extends BaseHarnessFilters { /** Filter by the item's text content. */ text?: string | RegExp; /** Filter by whether the item is disabled. */ disabled?: boolean; /** Filter by whether the item is checked. */ checked?: boolean; } /** Harness filters for ComMenuHarness. */ interface ComMenuHarnessFilters extends BaseHarnessFilters { /** Filter by the menu's aria-label. */ ariaLabel?: string | RegExp; } /** Harness filters for ComMenuTriggerHarness. */ interface ComMenuTriggerHarnessFilters extends BaseHarnessFilters { /** Filter by the trigger element's text. */ text?: string | RegExp; } /** * Harness for interacting with a menu item in tests. */ declare class ComMenuItemHarness extends ComponentHarness { static hostSelector: string; /** * Gets a HarnessPredicate for matching menu items. * @param options Filter options. */ static with(options?: ComMenuItemHarnessFilters): HarnessPredicate; /** Gets the item's text content. */ getText(): Promise; /** Whether the item is disabled. */ isDisabled(): Promise; /** Clicks the menu item. */ click(): Promise; /** Focuses the menu item. */ focus(): Promise; /** Whether the menu item is focused. */ isFocused(): Promise; } /** * Harness for interacting with a checkbox menu item in tests. */ declare class ComMenuItemCheckboxHarness extends ComponentHarness { static hostSelector: string; /** * Gets a HarnessPredicate for matching checkbox menu items. * @param options Filter options. */ static with(options?: ComMenuItemCheckboxHarnessFilters): HarnessPredicate; /** Gets the item's text content. */ getText(): Promise; /** Whether the item is disabled. */ isDisabled(): Promise; /** Whether the item is checked. */ isChecked(): Promise; /** Toggles the checkbox item by clicking it. */ toggle(): Promise; /** Focuses the item. */ focus(): Promise; /** Whether the item is focused. */ isFocused(): Promise; } /** * Harness for interacting with a radio menu item in tests. */ declare class ComMenuItemRadioHarness extends ComponentHarness { static hostSelector: string; /** * Gets a HarnessPredicate for matching radio menu items. * @param options Filter options. */ static with(options?: ComMenuItemRadioHarnessFilters): HarnessPredicate; /** Gets the item's text content. */ getText(): Promise; /** Whether the item is disabled. */ isDisabled(): Promise; /** Whether the item is checked. */ isChecked(): Promise; /** Clicks the radio item. */ click(): Promise; /** Focuses the item. */ focus(): Promise; /** Whether the item is focused. */ isFocused(): Promise; } /** * Harness for interacting with a com-menu panel in tests. */ declare class ComMenuHarness extends ComponentHarness { static hostSelector: string; private readonly menuPanel; /** * Gets a HarnessPredicate for matching menus. * @param options Filter options. */ static with(options?: ComMenuHarnessFilters): HarnessPredicate; /** Gets the menu's aria-label. */ getAriaLabel(): Promise; /** Gets the menu panel's ID. */ getMenuId(): Promise; /** Gets all menu items, optionally filtered. */ getItems(filters?: ComMenuItemHarnessFilters): Promise; /** Gets all checkbox menu items, optionally filtered. */ getCheckboxItems(filters?: ComMenuItemCheckboxHarnessFilters): Promise; /** Gets all radio menu items, optionally filtered. */ getRadioItems(filters?: ComMenuItemRadioHarnessFilters): Promise; /** Gets all menu item texts. */ getItemLabels(): Promise; } /** * Harness for interacting with a menu trigger in tests. */ declare class ComMenuTriggerHarness extends ComponentHarness { static hostSelector: string; private readonly documentRootLocator; /** * Gets a HarnessPredicate for matching menu triggers. * @param options Filter options. */ static with(options?: ComMenuTriggerHarnessFilters): HarnessPredicate; /** Gets the trigger element's text. */ getText(): Promise; /** Whether the menu is currently open. */ isOpen(): Promise; /** Opens the menu if it's closed. */ open(): Promise; /** Closes the menu if it's open. */ close(): Promise; /** Toggles the menu open/close state. */ toggle(): Promise; /** Gets the menu panel harness, or null if the menu is closed. */ getMenu(): Promise; /** Opens the menu and gets all menu items. */ getItems(filters?: ComMenuItemHarnessFilters): Promise; /** Opens the menu, finds an item by filter, and clicks it. */ clickItem(filter: ComMenuItemHarnessFilters): Promise; /** Sends keyboard input to the trigger element. */ sendKeys(...keys: (string | TestKey)[]): Promise; /** Focuses the trigger element. */ focus(): Promise; /** Blurs the trigger element. */ blur(): Promise; /** Whether the trigger element is focused. */ isFocused(): Promise; } export { ComMenuHarness, ComMenuItemCheckboxHarness, ComMenuItemHarness, ComMenuItemRadioHarness, ComMenuTriggerHarness }; export type { ComMenuHarnessFilters, ComMenuItemCheckboxHarnessFilters, ComMenuItemHarnessFilters, ComMenuItemRadioHarnessFilters, ComMenuTriggerHarnessFilters };