import { Pool } from 'pg';
export interface CachedKspPaths {
    paths: number[][];
}
export interface CachedReachableNodes {
    results: Array<{
        node_id: number;
        distance_km: number;
    }>;
}
export declare class RouteCacheService {
    private readonly cacheSchema;
    private readonly pg;
    constructor(pgClient: Pool, cacheSchema: string);
    ensureSchemaAndTables(): Promise<void>;
    computeGraphSignature(stagingSchema: string, region: string, bbox?: [number, number, number, number]): Promise<string>;
    getKspPaths(graphSig: string, startNode: number, endNode: number, k: number, constraintsSig: string): Promise<CachedKspPaths | null>;
    setKspPaths(graphSig: string, startNode: number, endNode: number, k: number, constraintsSig: string, paths: number[][]): Promise<void>;
    getReachableNodes(graphSig: string, startNode: number, maxDistanceKm: number): Promise<CachedReachableNodes | null>;
    setReachableNodes(graphSig: string, startNode: number, maxDistanceKm: number, results: Array<{
        node_id: number;
        distance_km: number;
    }>): Promise<void>;
}
//# sourceMappingURL=route-cache.d.ts.map