/**
 * Content Mapper Utilities
 *
 * Converts pulled remote content to local format for comparison.
 * Strips metadata fields that don't exist in local files.
 */
import type { ManagementNavigationItem, ManagementNavigationMenu, ManagementFooterContent, PulledNavigationItem, PulledNavigationMenu, PulledPages, PulledEntries } from '../../client/management/types';
import type { LocalEntry, LocalPage, LocalNavigation, LocalNavigationItem, LocalFooterContent } from '../content/reader';
type NavigationItemForMapping = ManagementNavigationItem | PulledNavigationItem;
type NavigationMenuForMapping = ManagementNavigationMenu | PulledNavigationMenu;
/**
 * Strip ID and position from remote navigation items for comparison.
 * Local navigation files don't include these server-generated fields.
 *
 * Converts CMS internal links to SDK identifier-based format:
 * - Internal page links → { kind: 'page', identifier }
 * - Internal entry links → { kind: 'entry', contentType, identifier }
 * - External links → { kind: 'external', href }
 * - Fallback (no identifier) → { kind: 'url', href }
 */
export declare function stripNavigationItemIds(items: NavigationItemForMapping[]): LocalNavigationItem[];
/**
 * Convert pulled navigation menus to local format for comparison.
 * Strips internal IDs and timestamps, keeps only sync-relevant fields.
 */
export declare function convertPulledNavigationToLocal(remoteMenus: NavigationMenuForMapping[]): LocalNavigation;
/**
 * Convert pulled pages to local format for comparison.
 * Strips server-side metadata like timestamps.
 */
export declare function convertPulledPagesToLocal(remotePages: PulledPages['pages']): LocalPage[];
/**
 * Convert pulled entries to local format for comparison.
 * Strips server-side metadata like timestamps.
 */
export declare function convertPulledEntriesToLocal(remoteEntries: Record<string, PulledEntries['entries']>): Map<string, LocalEntry[]>;
/**
 * Convert pulled footer content to local format for comparison/writing.
 */
export declare function convertPulledFooterToLocal(remoteFooter: ManagementFooterContent): LocalFooterContent;
export {};
