import MediaTooltip, { TooltipPlacement } from './media-tooltip.js'; import { globalThis } from './utils/server-safe-globals.js'; declare function getTemplateHTML(_attrs: Record, _props?: Record): string; declare function getSlotTemplateHTML(_attrs: Record, _props: Record): string; declare function getTooltipContentHTML(): string; /** * @extends {HTMLElement} * * @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). * @attr {('top'|'right'|'bottom'|'left'|'none')} tooltipplacement - The placement of the tooltip, defaults to "top" * @attr {boolean} notooltip - Hides the tooltip if this attribute is present * * @cssproperty --media-primary-color - Default color of text and icon. * @cssproperty --media-secondary-color - Default color of button background. * @cssproperty --media-text-color - `color` of button text. * @cssproperty --media-icon-color - `fill` color of button icon. * * @cssproperty --media-control-display - `display` property of control. * @cssproperty --media-control-background - `background` of control. * @cssproperty --media-control-hover-background - `background` of control hover state. * @cssproperty --media-control-padding - `padding` of control. * @cssproperty --media-control-height - `line-height` of control. * * @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 button text. * * @cssproperty --media-button-icon-width - `width` of button icon. * @cssproperty --media-button-icon-height - `height` of button icon. * @cssproperty --media-button-icon-transform - `transform` of button icon. * @cssproperty --media-button-icon-transition - `transition` of button icon. * @cssproperty --media-button-justify-content - `justify-content` property of button. * @cssproperty --media-button-padding - `padding` of button. * @cssproperty --media-cursor - `cursor` property. * @cssproperty --media-focus-box-shadow - `box-shadow` of focused control. */ declare class MediaChromeButton extends globalThis.HTMLElement { #private; static shadowRootOptions: { mode: ShadowRootMode; }; static getTemplateHTML: typeof getTemplateHTML; static getSlotTemplateHTML: typeof getSlotTemplateHTML; static getTooltipContentHTML: typeof getTooltipContentHTML; preventClick: boolean; tooltipEl: MediaTooltip; static get observedAttributes(): string[]; constructor(); enable(): void; disable(): void; attributeChangedCallback(attrName: any, oldValue: any, newValue: any): void; connectedCallback(): void; disconnectedCallback(): void; get keysUsed(): string[]; /** * Get or set tooltip placement */ get tooltipPlacement(): TooltipPlacement | undefined; set tooltipPlacement(value: TooltipPlacement | undefined); get mediaController(): string | undefined; set mediaController(value: string | undefined); get disabled(): boolean | undefined; set disabled(value: boolean | undefined); get noTooltip(): boolean | undefined; set noTooltip(value: boolean | undefined); /** * @abstract */ handleClick(_e: Event): void; } export { MediaChromeButton }; export default MediaChromeButton;