type Vec2 = [number, number]; type Vec3 = [number, number, number]; type Location = Vec2 | Vec3 | string | number; interface LocationSet { include?: Array; exclude?: Array; } interface LocationConflation { validateLocation: (a: Location) => unknown; resolveLocation: (a: Location) => unknown; validateLocationSet: (a: LocationSet) => unknown; resolveLocationSet: (a: LocationSet) => unknown; } type HitType = 'primary' | 'alternate' | 'excludeGeneric' | 'excludeNamed'; interface Hit { match: HitType; itemID?: string; area?: number; kv?: string; nsimple?: string; pattern?: string; } export declare class Matcher { private matchIndex; private genericWords; private itemLocation; private locationSets; private locationIndex; private warnings; constructor(); buildMatchIndex(data: Record): void; buildLocationIndex(data: Record, loco: LocationConflation): void; match(k: string, v: string, n: string, loc?: Vec2): Array | null; getWarnings(): Array; } export {}; //# sourceMappingURL=matcher.d.ts.map