export type VersionHistoryOwnerKind = "entry" | "page";
export type DraftVersionPrecondition = {
    kind: "none";
} | {
    kind: "draft";
    contentVersionId: string;
    updatedAt: string;
};
export type VersionHistoryListQuery = {
    limit?: number;
    cursor?: string;
};
export type VersionHistoryItem = {
    id: string;
    version: number;
    publishedAt: string;
    updatedAt: string;
    ownerKind: VersionHistoryOwnerKind;
    isCurrentPublished: boolean;
};
export type VersionHistoryWarning = {
    kind: "missing_reference";
    fieldPath: string;
    contentType: string;
    valueFrom: "id" | "identifier";
    value: string;
    label: string;
};
export type VersionHistoryDetail = VersionHistoryItem & {
    data: Record<string, unknown>;
    designState: Record<string, unknown> | null;
    warnings: VersionHistoryWarning[];
};
export type ListVersionHistoryResponse = {
    versions: VersionHistoryItem[];
    nextCursor: string | null;
    currentDraft: DraftVersionPrecondition;
};
export type GetVersionHistoryResponse = {
    version: VersionHistoryDetail;
};
export type RestoreVersionHistoryRequest = {
    expectedDraft: DraftVersionPrecondition;
};
export type RestoreVersionHistoryResponse = {
    status: "restored";
    draftVersionId: string;
    warnings: VersionHistoryWarning[];
} | {
    status: "noop";
    reason: "current_published";
};
