import type { DocumentVersion, PublishEvent, UnpublishEvent } from '@pantheon-systems/css-client'; export type VersionKind = 'current' | 'published' | 'reverted' | 'autosave' | 'unpublished'; export declare const VERSION_KIND_META: Record; /** * Returns all applicable display kinds for a version. * current, published, and reverted are independent labels that can coexist. * Returns ['autosave'] when none of the three apply. */ export declare function versionKinds(version: DocumentVersion, currentVersionId: string | undefined): VersionKind[]; /** * Returns true for versions that represent a meaningful milestone: * published checkpoints and revert points. */ export declare function isMilestone(version: DocumentVersion): boolean; /** A time the page was published to or unpublished from live. */ export type LiveEvent = UnpublishEvent | PublishEvent; /** A row in version history: a version, or a live event. */ export type HistoryEntry = DocumentVersion | LiveEvent; export declare function isLiveEvent(entry: HistoryEntry): entry is LiveEvent; export declare function liveEventTime(event: LiveEvent): string; export declare function entryTime(entry: HistoryEntry): string; /** Every publish but each version's first, which the version's own row already stands for. */ export declare function laterPublishes(publishes?: PublishEvent[]): PublishEvent[]; /** * Newest-first versions with live events slotted in by time, newest first. * Version order is kept as given, and events are never filtered out. */ export declare function withLiveEvents(versions: DocumentVersion[], events?: LiveEvent[]): HistoryEntry[];