import { globalThis } from '../utils/server-safe-globals.js'; import MediaChromeMenuItem from './media-chrome-menu-item.js'; export declare function createMenuItem({ type, text, value, checked, }: { type?: string; text: string; value: string; checked: boolean; }): MediaChromeMenuItem; export declare function createIndicator(el: HTMLElement, name: string): Node | ""; declare function getTemplateHTML(_attrs: Record): string; export declare const Attributes: { readonly STYLE: "style"; readonly HIDDEN: "hidden"; readonly DISABLED: "disabled"; readonly ANCHOR: "anchor"; }; /** * @extends {HTMLElement} * * @slot - Default slotted elements. * @slot header - An element shown at the top of the menu. * @slot checked-indicator - An icon element indicating a checked menu-item. * * @attr {boolean} disabled - The Boolean disabled attribute makes the element not mutable or focusable. * @attr {string} mediacontroller - The element `id` of the media controller to connect to (if not nested within). * * @cssproperty --media-primary-color - Default color of text / icon. * @cssproperty --media-secondary-color - Default color of background. * @cssproperty --media-text-color - `color` of text. * * @cssproperty --media-control-background - `background` of control. * @cssproperty --media-menu-display - `display` of menu. * @cssproperty --media-menu-layout - Set to `row` for a horizontal menu design. * @cssproperty --media-menu-flex-direction - `flex-direction` of menu. * @cssproperty --media-menu-gap - `gap` between menu items. * @cssproperty --media-menu-background - `background` of menu. * @cssproperty --media-menu-border-radius - `border-radius` of menu. * @cssproperty --media-menu-border - `border` of menu. * @cssproperty --media-menu-transition-in - `transition` of menu when showing. * @cssproperty --media-menu-transition-out - `transition` of menu when hiding. * @cssproperty --media-menu-visibility - `visibility` of menu when showing. * @cssproperty --media-menu-hidden-visibility - `visibility` of menu when hiding. * @cssproperty --media-menu-max-height - `max-height` of menu. * @cssproperty --media-menu-hidden-max-height - `max-height` of menu when hiding. * @cssproperty --media-menu-opacity - `opacity` of menu when showing. * @cssproperty --media-menu-hidden-opacity - `opacity` of menu when hiding. * @cssproperty --media-menu-transform-in - `transform` of menu when showing. * @cssproperty --media-menu-transform-out - `transform` of menu when hiding. * * @cssproperty --media-font - `font` shorthand property. * @cssproperty --media-font-weight - `font-weight` property. * @cssproperty --media-font-family - `font-family` property. * @cssproperty --media-font-size - `font-size` property. * @cssproperty --media-text-content-height - `line-height` of text. * * @cssproperty --media-icon-color - `fill` color of icon. * @cssproperty --media-menu-icon-height - `height` of icon. * @cssproperty --media-menu-item-checked-indicator-display - `display` of check indicator. * @cssproperty --media-menu-item-checked-background - `background` of checked menu item. * @cssproperty --media-menu-item-max-width - `max-width` of menu item text. * @cssproperty --media-menu-overflow - `overflow` property of menu. */ declare class MediaChromeMenu extends globalThis.HTMLElement { #private; static shadowRootOptions: { mode: ShadowRootMode; }; static getTemplateHTML: typeof getTemplateHTML; static get observedAttributes(): string[]; static formatMenuItemText(text: string, _data?: any): string; container: HTMLElement; defaultSlot: HTMLSlotElement; constructor(); enable(): void; disable(): void; handleEvent(event: Event): void; connectedCallback(): void; disconnectedCallback(): void; attributeChangedCallback(attrName: string, oldValue: string | null, newValue: string | null): void; formatMenuItemText(text: string, data?: any): string; get anchor(): string; set anchor(value: string); /** * Returns the anchor element when it is a floating menu. */ get anchorElement(): HTMLElement; /** * Returns the menu items. */ get items(): MediaChromeMenuItem[]; get radioGroupItems(): MediaChromeMenuItem[]; get checkedItems(): MediaChromeMenuItem[]; get value(): string; set value(newValue: string); focus(): void; handleSelect(event: MouseEvent | KeyboardEvent): void; get keysUsed(): string[]; handleMove(event: KeyboardEvent): void; } export { MediaChromeMenu }; export default MediaChromeMenu;