import { LitElement } from 'lit';
/**
* @element ui-focus-trap
* @description Traps keyboard focus within the element
* Essential for modals, drawers, and dialogs to maintain accessibility
*
* @slot - Content to trap focus within
*
* @fires focus-trapped - Fired when focus trap is activated
* @fires focus-released - Fired when focus trap is deactivated
*
* @example
* ```html
*
*
*
*
*
*
*
* ```
*/
export declare class UIFocusTrap extends LitElement {
static styles: import("lit").CSSResult;
/**
* Whether the focus trap is active
*/
active: boolean;
/**
* Whether to restore focus to the previously focused element when deactivated
*/
restoreFocus: boolean;
private _previouslyFocused;
private _boundHandleKeyDown;
private _observer;
connectedCallback(): void;
disconnectedCallback(): void;
updated(changedProperties: Map): void;
private _activate;
private _deactivate;
private _handleKeyDown;
private _getFocusableElements;
private _focusFirstElement;
render(): import("lit-html").TemplateResult<1>;
}
declare global {
interface HTMLElementTagNameMap {
'ui-focus-trap': UIFocusTrap;
}
}
//# sourceMappingURL=focus-trap.d.ts.map