/**
 * Build a deterministic index of canonical site markdown pages.
 *
 * Walks `docs/site/pages/<locale>/*.md` (and nested subdirs), resolves
 * frontmatter from the markdown + optional sibling `.meta.json`, and
 * produces a flat index keyed by public route path.
 *
 * This mirrors `index_builder.ts` for `/docs` but with site-page semantics.
 *
 * Determinism: sort order is a pure function of (locale → nav_order → path).
 */
import { type SitePageFrontmatter, type SitePageLocale } from "./site_page_frontmatter.js";
import type { VisibilityEnv } from "./visibility.js";
export interface SitePageEntry {
    /** Public route path, e.g. `/faq`. */
    path: string;
    /** Locale code. */
    locale: SitePageLocale;
    /** Resolved frontmatter. */
    frontmatter: SitePageFrontmatter;
    /** Repo-relative path to the markdown file. */
    repo_path: string;
}
export interface SitePageDetail extends SitePageEntry {
    /** Markdown body (frontmatter stripped). */
    body: string;
    /** Extracted headings for TOC. */
    headings: SitePageHeading[];
}
export interface SitePageHeading {
    level: number;
    text: string;
    id: string;
}
export interface SitePageIndex {
    pages: SitePageEntry[];
    total: number;
}
export interface BuildSitePageIndexOptions {
    sitePagesRoot: string;
    env: VisibilityEnv;
}
export declare function buildSitePageIndex(opts: BuildSitePageIndexOptions): SitePageIndex;
export declare function lookupSitePage(routePath: string, opts: {
    sitePagesRoot: string;
    env: VisibilityEnv;
    locale?: SitePageLocale;
}): SitePageDetail | null;
//# sourceMappingURL=site_page_index_builder.d.ts.map