import { PseudoClass } from './PseudoClass';
import { SimpleSelector } from './SimpleSelector';
export type CompoundSelector = {
    selectors: SimpleSelector[];
    pseudoClass?: PseudoClass | null;
};
/**
 * Get the full CSS selector string from a CompoundSelector
 */
export declare function toString(cs: CompoundSelector, ignorePseudoClass?: boolean): string;
export declare function specificity(compound: CompoundSelector): number;
/**
 * Parses a CSS selector string and converts it into a CompoundSelector model.
 * @example fromString('div.class') // { selectors: [{ type: 'tag', value: 'div' }, { type: 'class', value: 'class' }] }
 */
export declare function fromString(selectorStr: string): CompoundSelector;
/**
 * Merge two CompoundSelectors into one
 */
export declare function merge(cs1: CompoundSelector, cs2: CompoundSelector): CompoundSelector;
/**
 * Activate or deactivate the selectors of `targetSelectors` based on `referenceSelectors`
 */
export declare function updateActivation(targetSelectors: SimpleSelector[], referenceSelectors: SimpleSelector[]): SimpleSelector[];
//# sourceMappingURL=CompoundSelector.d.ts.map