import { Candidate } from "./HealingStrategies"; export interface LocatorMeta { tag: string; text?: string; attributes: Record; ariaLabel?: string; role?: string; parent?: { tag: string; id?: string; class?: string; }; } export interface LocatorRecord { original: string; healed?: string; candidates: Candidate[]; meta: LocatorMeta; updatedAt: string; } export declare class LocatorStore { private store; private filePath; constructor(fileName?: string, directory?: string); /** * Save or update a locator record in the store * - Skips saving if healed element not present in DOM * - Stores only working candidates (validated in DOM) */ saveRecord(page: any, original: string, healed: string, candidates: Candidate[], meta: LocatorMeta): Promise; /** * Get a record by original locator (with meta validation) */ getRecord(original: string, currentMeta: LocatorMeta): LocatorRecord | undefined; /** * Get all records */ getAll(): LocatorRecord[]; /** * Mark candidate as failed */ markCandidateFailed(original: string, selector: string): void; /** * Remove stale records not updated in last X days */ cleanupStale(days?: number): void; }