/// import { hostIDKey, byExternalAlias, byInternalAlias } from './InternalSymbols'; declare type InternalSelectorConfig = { value: string; alias?: string; internalAlias: string; parentAlias?: string; internalParentAlias?: string; attribute?: string; eq?: number; timeout?: number; ignoreCase?: boolean; }; declare type SelectorType = 'attribute' | 'id' | 'class' | 'type' | 'selector' | 'xpath' | 'exact-text' | 'partial-text' | 'name' | 'exact-link-text' | 'partial-link-text'; declare type SelectorMeta = { host: Host; property: string; hostID: number; }; declare type Selector = { config: InternalSelectorConfig; type: SelectorType; meta: SelectorMeta; engine: SelectorsEngine; }; declare type SelectorsStorage = Map; declare type Host = { [key: string]: Selector | any; [hostIDKey]?: number; [byExternalAlias]?: SelectorsStorage; }; declare type Env = Cypress.cy; declare type EnvWithSelectorsStorage = Env & { [byInternalAlias]: SelectorsStorage; [hostIDKey]: number; }; declare type SelectorsByEngine = { engine: 'CSS'; selectors: Array; } | { engine: 'XPath'; selector: Selector; }; declare type SelectorsEngine = SelectorsByEngine['engine']; declare const buildSelector: (selector: Selector, env: Env) => any; declare const collectSelectorsChain: (byInternalAlias: SelectorsStorage, selector: Selector, selectorsChain?: Array) => Array; declare const groupSelectorsByEngineSequentially: (selectors: Array) => Array; export { buildSelector, collectSelectorsChain, groupSelectorsByEngineSequentially }; export type { Host, Selector, SelectorType, SelectorMeta, EnvWithSelectorsStorage, InternalSelectorConfig, SelectorsEngine, };