import { Component, ComponentInstance, type HTMLCustomElement } from 'maverick.js/element'; import { type MenuContext } from './menu-context'; declare global { interface MaverickElements { 'media-menu-button': MediaMenuButtonElement; } } /** * A button that controls the opening and closing of a menu component. The button will become a * menuitem when used inside a submenu. * * @docs {@link https://www.vidstack.io/docs/player/components/menu/menu} * @slot - Used to pass in button content. * @slot open - Used to display content when menu is open. * @slot close - Used to display content when menu is closed. * @example * ```html * * * * * * * * * ``` */ export declare class MenuButton extends Component { static el: import("maverick.js/element").CustomElementDefinition; protected _menu: MenuContext; constructor(instance: ComponentInstance); protected onAttach(el: HTMLElement): void; protected onConnect(el: HTMLElement): void; protected _watchDisabled(): void; } export interface MenuButtonAPI { props: MenuButtonProps; } export interface MenuButtonProps { /** * Whether the button should be disabled (non-interactive). */ disabled: boolean; } export interface MediaMenuButtonElement extends HTMLCustomElement { }