| export interface Options { |
| /** |
| * When false, tag names will not be lowercased. |
| * @default true |
| */ |
| lowerCaseAttributeNames?: boolean; |
| /** |
| * When false, attribute names will not be lowercased. |
| * @default true |
| */ |
| lowerCaseTags?: boolean; |
| /** |
| * When `true`, `xmlMode` implies both `lowerCaseTags` and `lowerCaseAttributeNames` are set to `false`. |
| * Also, `ignoreCase` on attributes will not be inferred based on HTML rules anymore. |
| * @default false |
| */ |
| xmlMode?: boolean; |
| } |
| export declare type Selector = PseudoSelector | PseudoElement | AttributeSelector | TagSelector | UniversalSelector | Traversal; |
| export interface AttributeSelector { |
| type: "attribute"; |
| name: string; |
| action: AttributeAction; |
| value: string; |
| ignoreCase: boolean | null; |
| namespace: string | null; |
| } |
| declare type DataType = Selector[][] | null | string; |
| export interface PseudoSelector { |
| type: "pseudo"; |
| name: string; |
| data: DataType; |
| } |
| export interface PseudoElement { |
| type: "pseudo-element"; |
| name: string; |
| } |
| export interface TagSelector { |
| type: "tag"; |
| name: string; |
| namespace: string | null; |
| } |
| export interface UniversalSelector { |
| type: "universal"; |
| namespace: string | null; |
| } |
| export interface Traversal { |
| type: TraversalType; |
| } |
| export declare type AttributeAction = "any" | "element" | "end" | "equals" | "exists" | "hyphen" | "not" | "start"; |
| export declare type TraversalType = "adjacent" | "child" | "descendant" | "parent" | "sibling"; |
| /** |
| * Checks whether a specific selector is a traversal. |
| * This is useful eg. in swapping the order of elements that |
| * are not traversals. |
| * |
| * @param selector Selector to check. |
| */ |
| export declare function isTraversal(selector: Selector): selector is Traversal; |
| /** |
| * Parses `selector`, optionally with the passed `options`. |
| * |
| * @param selector Selector to parse. |
| * @param options Options for parsing. |
| * @returns Returns a two-dimensional array. |
| * The first dimension represents selectors separated by commas (eg. `sub1, sub2`), |
| * the second contains the relevant tokens for that selector. |
| */ |
| export default function parse(selector: string, options?: Options): Selector[][]; |
| export {}; |
| //# sourceMappingURL=parse.d.ts.map |