import { LitElement } from 'lit'; /** * Drawer/Sidebar component for side panel overlays * * @slot - Default slot for drawer content * @slot header - Optional header content * @slot footer - Optional footer content * * @fires open - Dispatched when drawer opens * @fires close - Dispatched when drawer closes * * @csspart drawer - The drawer container * @csspart overlay - The backdrop overlay * @csspart header - The header section * @csspart content - The content section * @csspart footer - The footer section * * @cssprop --drawer-width - Width of the drawer (default: 320px for left/right, 100% for top/bottom) * @cssprop --drawer-max-width - Maximum width (default: 90vw for left/right, 100% for top/bottom) * @cssprop --drawer-height - Height of the drawer for top/bottom (default: auto) */ export declare class UIDrawer extends LitElement { static styles: import("lit").CSSResult; /** Whether drawer is open */ open: boolean; /** Position of the drawer: left, right, top, bottom */ position: 'left' | 'right' | 'top' | 'bottom'; /** Mode: overlay (with backdrop) or push (pushes content) */ mode: 'overlay' | 'push'; /** Drawer title */ title: string; /** Whether to show close button */ showClose: boolean; /** Whether clicking overlay closes drawer */ closeOnOverlay: boolean; /** Whether pressing Escape closes drawer */ closeOnEscape: boolean; /** * Custom ARIA label (overrides title for screen readers) */ ariaLabel: string | null; /** * ID of element that labels this drawer */ ariaLabelledby: string | null; /** * ID of element that describes this drawer */ ariaDescribedby: string | null; private drawerId; private titleId; private previousFocus; connectedCallback(): void; disconnectedCallback(): void; updated(changedProperties: Map): void; private handleOpen; private handleClose; private _handleKeyDown; private handleOverlayClick; close(): void; toggle(): void; render(): import("lit-html").TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { 'ui-drawer': UIDrawer; } } //# sourceMappingURL=drawer.d.ts.map