/**
 * CSS selector matching elements that natively participate in keyboard focus.
 * Use with `querySelectorAll` to enumerate focusables, or with `Element.closest`
 * to test whether a given target is inside one.
 *
 * `[contenteditable]:not([contenteditable="false"])` covers every editable
 * value the attribute accepts — `""` (bare), `"true"`, `"plaintext-only"`,
 * `"inherit"` — and excludes the explicit opt-out `"false"`. All editable
 * variants have an implicit tabindex of 0.
 */
export declare const KEYBOARD_FOCUSABLE_SELECTOR = "a[href], button, input, textarea, select, details, [contenteditable]:not([contenteditable=\"false\"]), [tabindex]:not([tabindex=\"-1\"])";
/**
 * Retrieves all keyboard focusable elements within a given container element.
 *
 * Features:
 * - Finds all elements that can receive keyboard focus
 * - Filters out disabled, hidden, and inert elements
 * - Respects ARIA attributes for accessibility
 * - Checks computed styles for visibility
 * - Supports all standard focusable elements (links, buttons, inputs, etc.)
 * - Handles null and undefined input gracefully
 * - Returns array of focusable HTMLElements
 * - Excludes elements with tabindex="-1"
 *
 * Focusable Elements Detected:
 * - Links with href attributes
 * - Buttons (all types)
 * - Form inputs (text, checkbox, radio, etc.)
 * - Textareas and select elements
 * - Details elements
 * - Elements with positive tabindex values
 *
 * @param element - The container element to search for focusable elements
 * @returns Array of focusable HTMLElements, or empty array if no element provided
 */
export declare function getKeyboardFocusableElements(element?: HTMLElement | null): Element[];
