export{syncAriaControlsElements,syncAriaDescribedByElements,}from'./aria-reflection.js'; /** What a described element looked like before a transient description was applied to it. */ export interface AppliedDescription{readonly target:HTMLElement;readonly had:boolean;readonly value:string|null; /** Whether the element-reference list (rather than the serialized attribute) carries the link. */ readonly assigned:boolean; /** Replaces the descriptions owned by this one handle without disturbing any peer handle. */ update(descriptions:readonly Element[]):void; /** Releases only this handle's relationships. Calling it more than once is harmless. */ release():void;} /** An IDREF relationship that can be projected from a host onto its semantic owner. */ export type ResolvedAriaRelationship='aria-describedby'|'aria-labelledby'; /** A composable ownership handle for one producer's contribution to `aria-describedby`. */ export interface AriaDescriptionLease{readonly target:HTMLElement;update(descriptions:readonly Element[]):void;release():void;} /** * Owns a set of description elements without overwriting author relationships or peer owners. * Serialized and reflected-element baselines are restored exactly; later author writes become the * baseline that remains after the final lease releases. */ export declare function acquireAriaDescription(target:HTMLElement,descriptions:readonly Element[]):AriaDescriptionLease; /** A host IDREF relationship projected onto a replaceable semantic owner. */ export interface ResolvedAriaRelationshipLease{readonly host:HTMLElement;readonly relationship:ResolvedAriaRelationship;readonly target:HTMLElement|null; /** Retargets after render-path replacement and refreshes reconnect/adoption ownership. */ update(target:HTMLElement|null):void; /** Restores the current target baseline and stops observing the host relationship. */ release():void;} /** * Resolves an authored host IDREF list in the host's root and owns its element-reference projection * onto a semantic target. Host references lead the target's pre-existing/generated relationship; * element identity is deduplicated and a release restores the target's exact current baseline. */ export declare function acquireResolvedAriaRelationship(host:HTMLElement,initialTarget:HTMLElement|null,relationship:ResolvedAriaRelationship):ResolvedAriaRelationshipLease; /** * Adds `description` to whatever already describes `target`, and returns the snapshot * `undescribeElement()` needs to put it back. */ export declare function describeElement(target:HTMLElement,description:Element):AppliedDescription; /** Reverts `describeElement()`, restoring both the element-reference list and the attribute. */ export declare function undescribeElement(applied:AppliedDescription):void;