import { DuetIconName, DuetLanguage, DuetTheme } from "../../common-types"; import { ThemeableComponent } from "../../common/themeable-component"; import { DuetLangObject } from "../../utils/language-utils"; export type DuetNotificationDrawerDirection = "left" | "right"; export declare class DuetNotificationDrawer implements ThemeableComponent { /** * Own Properties */ private drawerButtonEl; private drawerContentEl; private observer; /** * Reference to host HTML element. */ element: HTMLElement; /** * State() variables * Inlined decorator, alphabetical order. */ isOpen: boolean; hasNotifications: boolean; /** * Icon to display to the left of the drawer button. */ icon: DuetIconName; /** * Label for the drawer button. */ label: string; /** * The currently active language. * Used to determine the message displayed when there are no notifications. */ language: DuetLanguage; /** * Defaults for accessibleLabelNotifications * @default {en: "No notifications", fi: "Ei ilmoituksia", sv: "Inga notifikationer"} */ accessibleLabelNotificationsDefaults: DuetLangObject | string; /** * Adds accessible label for tooltip that is shown for notifications * @default {en: "No notifications", fi: "Ei ilmoituksia", sv: "Inga notifikationer"} */ accessibleLabelNotifications: string; /** * Show a badge that indicates something has changed. */ badge: boolean; /** * Theme of the notification drawer. */ theme: DuetTheme; /** * Which direction should the drawer open in? */ direction: DuetNotificationDrawerDirection; /** * Component lifecycle events. */ componentWillLoad(): void; connectedCallback(): void; disconnectedCallback(): void; handleClickFocusOutside(e: Event): void; /** * Move focus to the menu's button. Use instead of the native `focus()` method * @param options */ setFocus(options?: FocusOptions): Promise; /** * Open the menu */ open(): Promise; /** * Close the menu * @param moveFocusToButton should focus be moved to the menu's button on close? */ close(moveFocusToButton?: boolean): Promise; /** * Component event handling. */ private handleKeyDown; private toggleMenu; private updateNotificationState; /** * render() function * Always the last one in the class. */ render(): any; }