export{composedParentElement,isAccessibilityExcluded,isAccessibilitySubtreeExcluded,isAccessibilityVisible,isAccessibilityVisibilityHidden,}from'./accessibility-visibility.js'; /** Finds the highest same-origin window without discarding a parent reached before a boundary. */ export declare function highestReachableWindow(start:Window):Window; /** Monotonic unique id, scoped by a short label (e.g. `nextId('listbox')`). */ export declare const nextId:(scope:string)=>string; /** Returns the host's authored `aria-label`, including a public programmatic `accessibleLabel` * binding. Attribute presence wins and preserves the empty string. A non-empty own or Lit-reactive * compatibility property is the fallback; private computed getters are deliberately not invoked. * `null` means neither path supplies a name and the caller may compute one. */ export declare function hostAriaLabel(host:Element):string|null; /** Whether `nodes` contains an element node, or a text node with non- * whitespace content -- i.e. whether a default slot should be treated as * carrying "real" content rather than being effectively empty. */ export declare function hasRealContent(nodes:Iterable):boolean; /** * Resolves the node that actually receives focus when a consumer-supplied trigger is activated. * * A name/description relationship is only surfaced to assistive technology on the element the user * is focused on. A custom-element host is almost never that element: ``, ``, * `` and any consumer-authored wrapper all move focus to a native control inside their * shadow root, so a description parked on the host is silently dropped. Walk to the first * programmatically focusable descendant instead, including a managed native stop after a roving * owner assigns `tabindex=-1`. * * Returns `trigger` itself when the trigger is its own focus target (any native control), when it * carries its own `tabindex`, and when nothing focusable is reachable yet (a custom element that * has not upgraded, or a disabled control) -- callers then behave exactly as they did before. */ export declare function resolveAccessibleTrigger(trigger:HTMLElement):HTMLElement; /** Visually-hidden-but-screen-reader-available helper class. * * The hairline box is sized from the shared --lr-size-1px token and the logical * inline-size/block-size/margin-inline/margin-block properties rather than raw 1px literals and * physical width/height/margin, matching every component stylesheet in the library -- this module * is shared by dozens of components, so an untokenized copy here would exempt all of them at once * from the token scale -- and no automated gate would notice, since check-style-policy.mjs only * walks component-level `.styles.ts` files and never this directory. * * Clipping uses `clip-path: inset(50%)`, not the deprecated `clip: rect(0 0 0 0)` shorthand -- * matching `styles/utilities.css`'s `.lr-visually-hidden` and every component stylesheet that * ships its own copy. Two consequences worth knowing: a consumer that reveals a `.sr-only` * element on focus resets `clip-path: none` rather than `clip: auto`, and `clip-path` (unlike * `clip`) establishes a containing block for absolutely-positioned descendants. */ export declare const srOnly:import("lit").CSSResult;