/**
 * Astro file-based routing: src/pages/ → routes.
 * Exports findAstroHandlers (for traceRoute) and astroRouteMap (tool handler).
 */
import type { CodeIndex, CodeSymbol, RouteFramework } from "../types.js";
export interface AstroRouteHandler {
    symbol: Omit<CodeSymbol, "source" | "tokens">;
    file: string;
    method?: string;
    framework: RouteFramework;
}
interface AstroRouteEntry {
    path: string;
    file: string;
    type: "page" | "endpoint";
    rendering: "static" | "server";
    dynamic_params: string[];
    has_getStaticPaths: boolean;
    methods?: string[] | undefined;
    layout?: string | undefined;
}
/** Convert src/pages/blog/[slug].astro → /blog/:slug */
export declare function fileToRoute(filePath: string): string;
/** Build all routes from an Astro project index. */
export declare function buildRouteEntries(index: CodeIndex): {
    routes: AstroRouteEntry[];
    warnings: string[];
};
/** Find Astro route handlers matching a search path (for traceRoute dispatch). */
export declare function findAstroHandlers(index: CodeIndex, searchPath: string): AstroRouteHandler[];
/** The astro_route_map MCP tool handler. */
export declare function astroRouteMap(args: {
    repo?: string;
    include_endpoints?: boolean;
    output_format?: "json" | "tree" | "table";
}): Promise<{
    routes: AstroRouteEntry[];
    warnings: string[];
    summary: {
        total_routes: number;
        static_pages: number;
        server_pages: number;
        api_endpoints: number;
        dynamic_routes: number;
    };
    virtual_routes_disclaimer: string[];
}>;
export {};
//# sourceMappingURL=astro-routes.d.ts.map