import { Option } from 'effect'; import type { VNode } from '../vdom.js'; type MatchMode = 'Exact' | 'StartsWith'; type AttributeMatcher = Readonly<{ name: string; value: Option.Option; mode: MatchMode; }>; type SimpleSelector = Readonly<{ tag: Option.Option; id: Option.Option; classes: ReadonlyArray; attributes: ReadonlyArray; }>; type Selector = ReadonlyArray; export declare const parseSelector: (input: string) => Selector; /** Returns the ancestor chain of `target` within `root`, ordered from root to * the immediate parent of `target` (exclusive). Returns an empty array when * `target` is `root` itself or is not present in the subtree. */ export declare const ancestorsOf: (target: VNode) => (root: VNode) => ReadonlyArray; /** Computes the accessible name of an element. Resolves via * `aria-labelledby`, `aria-label`, `