import type{ReactiveController,ReactiveControllerHost}from'lit';
/**
* A declarative `match` constraint target: a sibling field's id (looked up in the host's own root
* node — an idref never crosses a shadow boundary, mirroring every other idref this library
* resolves, `internal/aria-controls.ts` included) or a direct element reference (works across
* shadow trees, since resolving one requires no lookup at all).
*/
export type LyraMatchTarget=string|HTMLElement|null;
/**
* Resolves a `match` target to a live element. Never throws: a dangling id, a root with no
* `getElementById` (an exotic root), or any other unresolved reference all answer `null`, so a
* `match` constraint that cannot be resolved is silently inert rather than permanently blocking
* submission.
*/
export declare function resolveMatchConstraintTarget(host:Element,match:LyraMatchTarget):HTMLElement|null;
/**
* Reads the comparable string value off a resolved match target — any element exposing a plain
* string `.value` (a native ``/`