import { ARIAGlobalStatesAndProperties, FoundationElement } from '@ni/fast-foundation'; import { UserDismissed } from '../patterns/dialog/types'; import { DrawerLocation } from './types'; export { UserDismissed }; declare global { interface HTMLElementTagNameMap { 'nimble-drawer': Drawer; } } /** * Drawer control. Shows content in a panel on the left / right side of the screen, * which animates to be visible with a slide-in / slide-out animation. */ export declare class Drawer extends FoundationElement { static readonly UserDismissed: symbol; location: DrawerLocation; preventDismiss: boolean; dialog: HTMLDialogElement; private closing; private resolveShow?; private closeReason; /** * True if the drawer is open, opening, or closing. Otherwise, false. */ get open(): boolean; /** * Opens the drawer * @returns Promise that is resolved when the drawer finishes closing. The value of the resolved * Promise is the reason value passed to the close() method, or UserDismissed if the drawer was * closed via the ESC key. */ show(): Promise; /** * Closes the drawer * @param reason An optional value indicating how/why the drawer was closed. */ close(reason: CloseReason): void; /** * @internal */ cancelHandler(event: Event): boolean; /** * @internal */ closeHandler(event: Event): void; private doResolveShow; private readonly animationEndHandlerFunction; private openDialog; private closeDialog; private triggerAnimation; private animationEndHandler; } export interface Drawer extends ARIAGlobalStatesAndProperties { } export declare const drawerTag = "nimble-drawer";