export{composedParentElement}from'./active-element.js';type AccessibilityTextTruncationReason='ancestors'|'characters'|'depth'|'nodes';export interface ComposedAccessibilityTextOptions{ /** Whether a top-level Text node starts visible. Element visibility is resolved from CSS. */ inheritedTextVisible?:boolean; /** Total UTF-16 code-unit ceiling shared by every supplied root. */ maxCharacters?:number; /** Maximum composed descendant depth. */ maxDepth?:number; /** Total node-work ceiling shared by every supplied root and ARIA reference. */ maxNodes?:number; /** Additional consumer-specific pruning, such as excluding actions from a toast message. */ shouldPrune?:(element:Element)=>boolean; /** Additional pruning that can also reject externally assigned Text nodes. */ shouldPruneNode?:(node:Node)=>boolean; /** Replaces the ordinary own-subtree exclusion predicate for presentation-owned fences. */ isSubtreeExcluded?:(element:Element)=>boolean; /** Stops initial composed-ancestor validation after this boundary is validated. */ ancestorBoundary?:Element|null; /** Whether connected candidates must participate in rendered layout. Defaults to true. */ requireRendered?:boolean; /** Skips composed-ancestor validation for supplied roots; their own authored state still applies. * This also implies `ignoreInheritedVisibility`, since a walk that ignores its ancestors entirely * cannot meaningfully honor visibility inherited from them. Prefer `ignoreInheritedVisibility` * alone when authored ancestor exclusion (`aria-hidden`, `inert`, `hidden`) must still prune. */ skipRootAncestorValidation?:boolean; /** Computes a name that does not depend on where the roots currently sit. `visibility: hidden` * inherited from outside the walk -- a closed overlay popup, an inactive slide -- stops * suppressing text, for the roots and their descendants alike. Inherited and locally declared * `hidden` are indistinguishable from computed style once a container is hidden, and an absent * accessible name is the worse of the two failures. Unlike `skipRootAncestorValidation` this * keeps full composed-ancestor validation, so `aria-hidden`, `inert`, `hidden` and * `display: none` still prune exactly as before. */ ignoreInheritedVisibility?:boolean;}export interface ComposedAccessibilityTextResult{labelReferenceRoots:ReadonlySet;referencedElements:ReadonlySet;text:string; /** Open roots actually entered by the bounded walk, suitable for live-text observation. */ traversedShadowRoots:ReadonlySet;truncated:boolean;truncationReasons:readonly AccessibilityTextTruncationReason[];visitedNodes:number;} /** `aria-hidden` is an ASCII case-insensitive true/false token in HTML. */ export declare function isAriaTrue(value:string|null):boolean; /** * Whether an element's authored or rendered state prunes it and all descendants from accessibility. * `aria-hidden` is an ASCII case-insensitive token, and rendered styles always come from the * element's owner realm. */ export declare function isAccessibilitySubtreeExcluded(element:Element):boolean; /** Whether an element's own text is visibility-hidden; descendants may override this in CSS. */ export declare function isAccessibilityVisibilityHidden(element:Element):boolean; /** Whether an element itself is excluded; use the subtree predicate when recursively extracting. */ export declare function isAccessibilityExcluded(element:Element):boolean; /** * Observes a host's label content, assigned nodes, and composed ancestors for accessible text. * * `extraAttributes` widens the *content-node* filter only (never the ancestor filter, which cannot * lend a subtree its own name and only hides or reveals it). A component whose label text is drawn * from one specific slot -- `` and `` both read the default slot and deliberately * exclude the decorative `icon`/`start`/`end` ones -- passes `'slot'`, so a light-DOM child's own * slot reassignment is a second, independent trigger alongside the `slotchange` those components * also listen for. Components whose accessible text does not depend on slot assignment pass nothing * and keep the narrower filter, so widening it here changes nothing for them. */ export declare function bindAccessibleTextObserver(observer:MutationObserver|undefined,host:Element,extraAttributes?:readonly string[]):void; /** * Iteratively extracts a bounded accessible name/text projection through slots and open shadow * roots. The result reports every ceiling it reached so authoritative-name, announcement and * typeahead consumers can degrade deliberately instead of treating a silent prefix as complete. */ export declare function composedAccessibilityTextResult(input:Node|Iterable,options?:boolean|ComposedAccessibilityTextOptions):ComposedAccessibilityTextResult;export declare function composedAccessibilityText(input:Node|Iterable,options?:boolean|ComposedAccessibilityTextOptions):string; /** Compatibility name used by progress/chip/spinner label projections. */ export declare function composedAccessibleVisibleText(node:Node):string; /** * Whether an element is connected and exposed by its own state and every composed ancestor. * * Document-level live regions do not inherit visibility from the component that publishes into * them. Announcement producers use this before writing to a shared sink. `ignorePresentation` * only skips a known component-owned, non-semantic presentation fence; it must not select * author-provided content. */ export declare function isAccessibilityVisible(element:Element,options?:{ignorePresentation?:(candidate:Element)=>boolean;maxDepth?:number;maxNodes?:number;}):boolean;