blob: 7e03a582a850473d73ce3f229872046e82ed0511 [file] [log] [blame]
Leo Repp58b9f112021-11-22 11:57:47 +01001export default parse;
2export interface Options {
3 lowerCaseAttributeNames?: boolean;
4 lowerCaseTags?: boolean;
5 xmlMode?: boolean;
6}
7export declare type Selector = PseudoSelector | PseudoElement | AttributeSelector | TagSelector | UniversalSelector | Traversal;
8export interface AttributeSelector {
9 type: "attribute";
10 name: string;
11 action: AttributeAction;
12 value: string;
13 ignoreCase: boolean;
14}
15declare type DataType = Selector[][] | null | string;
16export interface PseudoSelector {
17 type: "pseudo";
18 name: string;
19 data: DataType;
20}
21export interface PseudoElement {
22 type: "pseudo-element";
23 name: string;
24}
25export interface TagSelector {
26 type: "tag";
27 name: string;
28}
29export interface UniversalSelector {
30 type: "universal";
31}
32export interface Traversal {
33 type: TraversalType;
34}
35export declare type AttributeAction = "any" | "element" | "end" | "equals" | "exists" | "hyphen" | "not" | "start";
36export declare type TraversalType = "adjacent" | "child" | "descendant" | "parent" | "sibling";
37declare function parse(selector: string, options?: Options): Selector[][];
38//# sourceMappingURL=parse.d.ts.map