1 | import { PseudoClassType } from './syntax-definitions.js';
|
2 | export type PseudoSignature = {
|
3 | optional: boolean;
|
4 | } & ({
|
5 | type: 'Formula';
|
6 | ofSelector?: boolean;
|
7 | } | {
|
8 | type: 'String';
|
9 | } | {
|
10 | type: 'Selector';
|
11 | } | {
|
12 | type: 'NoArgument';
|
13 | });
|
14 | export type PseudoSignatures = Record<string, PseudoSignature>;
|
15 | export declare const emptyPseudoSignatures: PseudoSignatures;
|
16 | export declare const defaultPseudoSignature: PseudoSignature;
|
17 | type PseudoArgumentType = PseudoClassType;
|
18 | export type CategoriesIndex<T1 extends string, T2 extends string> = {
|
19 | [K in T1]?: T2[];
|
20 | };
|
21 | export declare function inverseCategories<T1 extends string, T2 extends string>(obj: CategoriesIndex<T1, T2>): CategoriesIndex<T2, T1>;
|
22 | export declare function calculatePseudoSignatures<T extends PseudoArgumentType>(definitions: {
|
23 | [K in T]?: string[];
|
24 | }): PseudoSignatures;
|
25 | export {};
|