import type { ScRegularDocumentType, ScRoutingDocumentType } from "@paroicms/public-anywhere-lib";
import type { SiteContext } from "../../site-context/site-context.types.js";
export interface ParsedPageRoute {
    language: string;
    redirectTo: "parent" | undefined;
    frontendAppPath?: string;
    urlCacheKey: string;
    documentHierarchy: DocumentHierarchyEntry[];
}
export type DocumentHierarchyEntry = RoutingDocumentHierarchyEntry | RegularDocumentHierarchyEntry;
export interface RoutingDocumentHierarchyEntry {
    entryKind: "routing";
    documentType: ScRoutingDocumentType;
}
export type RegularDocumentHierarchyEntry = RelativeIdHierarchyEntry | SlugHierarchyEntry;
interface RegularDocumentHierarchyEntryBase {
    entryKind: "regular";
    candidateTypes: ScRegularDocumentType[];
    isClusterRoot: boolean;
}
export interface RelativeIdHierarchyEntry extends RegularDocumentHierarchyEntryBase {
    lookupKind: "relativeId";
    relativeId: string;
}
export interface SlugHierarchyEntry extends RegularDocumentHierarchyEntryBase {
    lookupKind: "slug";
    slug: string;
}
export declare function parsePageRoute(siteContext: Pick<SiteContext, "siteSchema">, urlPath: string): ParsedPageRoute | undefined;
export declare function findParentParsedRouteWithDocument(parsedRoute: ParsedPageRoute): ParsedPageRoute | undefined;
export {};
