import { type AppearancePresetId, type BoundaryOptionId, type DesignBlockId, type DesignBoundaryId, type LayoutVariantKey, type PageDesignEditorReadModel } from '@riverbankcms/theme-core/site-styles';
import { type HistoryState } from '@riverbankcms/content-editor';
import type { PreviewCustomizeAction } from '../blocks/previewCustomizeActions';
type PreviewLoadedEditorModel = PageDesignEditorReadModel;
export type PreviewCustomizeHistoryEntry = Readonly<{
    kind: 'layout';
    blockId: PreviewCustomizeActionBlockId;
    baseContentId: string | null;
    fromLayoutVariantKey: LayoutVariantKey;
    toLayoutVariantKey: LayoutVariantKey;
}> | Readonly<{
    kind: 'look';
    blockId: PreviewCustomizeActionBlockId;
    fromAppearancePresetId: AppearancePresetId | null;
    toAppearancePresetId: AppearancePresetId | null;
}> | Readonly<{
    kind: 'boundary';
    boundaryId: DesignBoundaryId;
    previousBlockId: PreviewCustomizeActionBlockId;
    nextBlockId: PreviewCustomizeActionBlockId;
    fromBoundaryOptionId: BoundaryOptionId | null;
    toBoundaryOptionId: BoundaryOptionId | null;
}>;
type PreviewCustomizeActionBlockId = DesignBlockId;
export type PreviewCustomizeHistoryPresent = Readonly<{
    editorModel: PreviewLoadedEditorModel;
    entry: PreviewCustomizeHistoryEntry | null;
}>;
export type PreviewCustomizeHistoryState = HistoryState<PreviewCustomizeHistoryPresent>;
export declare function createPreviewCustomizeHistoryState(editorModel: PreviewLoadedEditorModel): PreviewCustomizeHistoryState;
export declare function canUndoPreviewCustomizeHistory(state: PreviewCustomizeHistoryState): boolean;
export declare function canRedoPreviewCustomizeHistory(state: PreviewCustomizeHistoryState): boolean;
export declare function pushPreviewCustomizeHistoryEntry(state: PreviewCustomizeHistoryState, entry: PreviewCustomizeHistoryEntry, editorModel: PreviewLoadedEditorModel): PreviewCustomizeHistoryState;
export declare function replacePreviewCustomizeHistoryModel(state: PreviewCustomizeHistoryState, editorModel: PreviewLoadedEditorModel): PreviewCustomizeHistoryState;
export declare function undoPreviewCustomizeHistory(state: PreviewCustomizeHistoryState): PreviewCustomizeHistoryState;
export declare function redoPreviewCustomizeHistory(state: PreviewCustomizeHistoryState): PreviewCustomizeHistoryState;
export declare function previewCustomizeHistoryEntryFromAction(editorModel: PreviewLoadedEditorModel, action: PreviewCustomizeAction): PreviewCustomizeHistoryEntry | null;
export declare function previewCustomizeUndoActionForEntry(entry: PreviewCustomizeHistoryEntry): PreviewCustomizeAction;
export declare function previewCustomizeRedoActionForEntry(entry: PreviewCustomizeHistoryEntry): PreviewCustomizeAction;
export declare function previewCustomizeHistoryPresentEquals(left: PreviewCustomizeHistoryPresent, right: PreviewCustomizeHistoryPresent): boolean;
export {};
