import { type AttributesOptions, type Stringifiable } from '../../createLocator'; import type { Locator as PlaywrightLocator } from '@playwright/test'; type Args = readonly (RegExp | number | string)[]; type Kind = 'css' | 'filter' | 'find' | 'nth' | 'parent' | 'withText'; type Options = Readonly<{ args?: Args | undefined; cssString: string; kind?: Kind; parentSelector?: Selector; }> & AttributesOptions; /** * Selector. */ declare class Selector { readonly description: string; private readonly args; private readonly cssString; private readonly kind; private readonly locator; private readonly parameterAttributePrefix; private readonly parentSelector; private readonly testIdAttribute; private readonly testIdSeparator; protected constructor({ args, cssString, kind, parameterAttributePrefix, parentSelector, testIdAttribute, testIdSeparator, }: Options); get boundingClientRect(): Promise; get checked(): Promise; get count(): Promise; get exists(): Promise; get scrollHeight(): Promise; get scrollLeft(): Promise; get scrollTop(): Promise; get scrollWidth(): Promise; get textContent(): Promise; get value(): Promise; get visible(): Promise; static create({ cssString, parameterAttributePrefix, testIdAttribute, testIdSeparator, }: Pick): Selector; createSelector(cssString: string): Selector; filter(cssSelectorString: string): Selector; filterByLocatorParameter(parameter: string, value: string): Selector; filterByTestId(...args: readonly [Stringifiable, ...Stringifiable[]]): Selector; find(cssSelectorString: string): Selector; findByLocatorParameter(parameter: string, value: string): Selector; findByTestId(...args: readonly [Stringifiable, ...Stringifiable[]]): Selector; getAttribute(attributeName: string): Promise; getLocatorParameter(parameter: string): Promise; getPlaywrightLocator(): PlaywrightLocator; getStyleProperty(propertyName: string): Promise; getTestId(): Promise; hasAttribute(attributeName: string): Promise; hasLocatorParameter(parameter: string): Promise; hasTestId(): Promise; nth(index: number): Selector; parent(): Selector; toJSON(): { description: string; }; /** * Custom string presentation of selector. */ toString(): string; withText(textOrRegExp: RegExp | string): Selector; private createChildSelector; private getParameterAttribute; } export { Selector };