export interface ShareablesRoute {
    screen: string | null;
    detailId: string | null;
    action: string | null;
}
/**
 * Parse the current shareables sub-route from the full slug.
 *
 * System nav slugs are "share/products", "share/media", "share/playlists".
 * Detail pages append an ID: "share/products/123", "share/media/456".
 *
 *   "share/products"        -> screen="products", detailId=null
 *   "share/products/123"    -> screen="products", detailId="123"
 *   "share/media/456"       -> screen="media",    detailId="456"
 *   "share/playlists"       -> screen="playlists", detailId=null
 *   "share/playlists/789"   -> screen="playlists", detailId="789"
 *   "share/files"           -> screen="files",    detailId=null
 *   "share"                 -> screen=null (default to products)
 */
export declare function parseShareablesRoute(currentSlug: string): ShareablesRoute;
/**
 * Resolve the product the user navigated through to reach a media detail page.
 *
 * Returns a product id only when the current route is a plain media detail
 * route and the previous in-session route was a plain product detail route.
 * `null` means the caller should skip fetching a source product. Routes with
 * an `action` segment are rejected because edit/create sub-routes are not
 * stable source-detail breadcrumbs.
 */
export declare function getSourceProductIdForMediaDetail(currentRoute: ShareablesRoute, parentSlug: string | null | undefined): string | null;
//# sourceMappingURL=shareables-source-context.d.ts.map