export declare const IgnoreCaseMode: Readonly>; export declare interface AttributeSelectorNode { type: 'attribute' name: string action: AttributeAction value: string namespace: string | null ignoreCase: IgnoreCase } export declare interface TagSelectorNode { type: 'tag' name: string namespace: string | null } export declare interface UniversalSelectorNode { type: 'universal' namespace: string | null } export declare interface PseudoSelectorNode { type: 'pseudo' name: string data: string | Selector[][] | null } export declare interface PseudoElementNode { type: 'pseudo-element' name: string data: string | null } export declare interface TraversalNode { type: 'adjacent' | 'child' | 'descendant' | 'parent' | 'sibling' | 'column-combinator' } export declare interface ParseOptions { xmlMode?: boolean lowerCaseAttributeNames?: boolean lowerCaseTags?: boolean } /** * Selector AST mirroring css-what v6 — the segment-list-of-lists shape * `parse(selector)` returns. Compatible with css-select consumers. */ export type SelectorType = | 'attribute' | 'pseudo' | 'pseudo-element' | 'tag' | 'universal' | 'adjacent' | 'child' | 'descendant' | 'parent' | 'sibling' | 'column-combinator'; export type AttributeAction = | 'any' | 'element' | 'end' | 'equals' | 'exists' | 'hyphen' | 'not' | 'start'; export type IgnoreCase = boolean | 'quirks' | null; export type Selector = | AttributeSelectorNode | TagSelectorNode | UniversalSelectorNode | PseudoSelectorNode | PseudoElementNode | TraversalNode;