/**
 * @fileoverview Reference-data service — resolves Open Charge Map reference names/codes to the
 * integer IDs that POI filters key on, served from a bundled snapshot (offline, zero-latency).
 * Builds per-category lookup indices (exact-ID, normalized-title, curated connector aliases) at
 * init, with an optional startup refresh from the live `/v3/referencedata` endpoint that falls
 * back to the bundled snapshot on any failure.
 * @module services/reference-data/reference-data-service
 */
import type { ServerConfig } from '../../config/server-config.js';
import type { ReferenceCategory, ReferenceMatch } from './types.js';
export declare class ReferenceDataService {
    private readonly serverConfig;
    private indices;
    constructor(serverConfig: ServerConfig);
    /** Load the bundled snapshot, optionally refresh from the live endpoint, then build indices. */
    setup(): Promise<void>;
    /** Date the active reference data was captured (bundled snapshot vintage). */
    get snapshotDate(): string;
    /** The `find_stations` filter param a category's IDs feed, or undefined when there is none. */
    filterParam(category: ReferenceCategory): string | undefined;
    /**
     * Resolve a query to matching reference entries within a category, best/exact first.
     * Strict normalized token match over the complete category set, plus curated connector aliases.
     * Returns up to `limit` matches; an empty array means no match (caller surfaces a browse hint).
     */
    resolve(category: ReferenceCategory, query: string, limit: number): ReferenceMatch[];
    /** Browse a full category, ordered by ID, up to `limit`. Returns the total count for truncation. */
    browse(category: ReferenceCategory, limit: number): {
        matches: ReferenceMatch[];
        total: number;
    };
    /** Human-readable title for a numeric ID within a category, or undefined when not found. */
    labelFor(category: ReferenceCategory, id: number | null | undefined): string | undefined;
    private requireIndex;
    private buildIndices;
    private toMatch;
    private detailFor;
    /** Attempt a live reference refresh; returns the parsed set on success, undefined on any failure. */
    private tryRefresh;
}
/** Construct and initialize the reference-data service. Awaited in `createApp()`'s `setup()`. */
export declare function initReferenceDataService(serverConfig: ServerConfig): Promise<void>;
/** Accessor for the initialized reference-data service. */
export declare function getReferenceDataService(): ReferenceDataService;
/** Reset the singleton (test isolation only). */
export declare function resetReferenceDataService(): void;
//# sourceMappingURL=reference-data-service.d.ts.map