import * as parser from './parser'; import type { GroupPrefix } from './matchers'; export declare class FirstMateSelector { readonly source: string; private _cache; private _prefixes; private matcher; /** * Create a new scope selector. * * @param {string} source The string to parse as a scope selector. * @return A newly constructed ParsedSelector. */ constructor(source: string); /** * Check if this scope selector matches the scopes. * * @param {string|string[]} scopes A single scope or an array of them to be compared against. * @return {boolean} Whether or not this ParsedSelector matched. */ matches(scopes: string | string[]): boolean; /** * Gets the prefix of this scope selector. * * @param {string|string[]} scopes The scopes to match a prefix against. * @return {string|undefined} The matching prefix, if there is one. */ getPrefix(scopes: string | string[]): GroupPrefix | undefined; /** * Gets the priority of this scope selector. * * @param {string|string[]} scopes The scopes to match a priority against. * @return {string|undefined} The matching priority, if there is one. */ getPriority(scopes: string | string[]): number; toString(): string; } export declare namespace rules { type Start = parser.Start; type Atom = parser.Atom; type Scope = parser.Scope; type Path = parser.Path; type Group = parser.Group; type Expression = parser.Expression; type Composite = parser.Composite; type Selector = parser.Selector; }