import type { PuckData } from '@pantheon-systems/css-client'; import type { DocumentResolution } from '../merge/useMergeResolution.js'; export type RailItemKind = 'content' | 'metadata'; export type RailStatus = 'conflict' | 'resolved' | 'changed' | 'added' | 'deleted'; export interface RailItem { id: string; documentId: string; kind: RailItemKind; pageTitle: string; path: string; status: RailStatus; } export interface RailGroup { documentId: string; pageTitle: string; path: string; items: RailItem[]; } export declare const RAIL_STATUS_LABEL: Record; export declare function metadataDiffers(a: PuckData | null, b: PuckData | null): boolean; /** * Whether the page's locale differs between the workstream and Live. A deleted * page has no locale to publish, so it never counts. */ export declare function localeDiffers(doc: DocumentResolution): boolean; export declare function resolveTitle(doc: DocumentResolution): string; export declare function toRailItems(doc: DocumentResolution): RailItem[]; export declare function hasSplitMetadata(doc: DocumentResolution): boolean; export declare function groupRailItems(docs: DocumentResolution[]): RailGroup[]; export declare function nextUnresolvedIndex(groups: RailGroup[], fromId: string | null): number;