import { ElementSelectorLogger } from '../types'; /** * Autogenerated-id pattern pack. * * When an element id matches any of these regexes, the algorithm treats the * element as if it has no id — the stableId strategy returns null and the * fallback walks past it instead of anchoring on it. Stops selectors from * pinning to ids that change between page loads or component re-mounts. * * Defaults are surfaced to customers in remote config so they can audit what's * being filtered and add or remove patterns to match their stack. */ /** * Built-in defaults, in the order they're applied (order doesn't affect * correctness — `some()` short-circuits on the first match). */ export declare const DEFAULT_AUTOGENERATED_ID_PATTERNS: ReadonlyArray; /** * Compile a list of regex pattern strings (e.g. from a remote-config payload) * into RegExp objects. Invalid patterns are skipped (not thrown) so a single * bad regex in remote config can't crash the engine. * * Pass `logger` to surface invalid patterns at `warn` level — useful for * diagnosing why a customer's override isn't taking effect. * * Callers decide whether to merge the result with `DEFAULT_AUTOGENERATED_ID_PATTERNS` * or use it as a full replacement. That policy lives in the config resolver, * not here. */ export declare function compile(patterns: string[], logger?: ElementSelectorLogger): RegExp[]; /** * Check whether `id` is "stable" relative to a set of patterns. An id is * stable when it's a non-empty string AND doesn't match any pattern in * `patterns`. Null, undefined, and empty-string ids are not stable. */ export declare function isStableId(id: string | null | undefined, patterns: ReadonlyArray): boolean; //# sourceMappingURL=autogenerated-ids.d.ts.map