import { type EditorBlockId, type EditorBlockBaselineInput, type EditorDraftBlockBaselineUpdateMetaInput, type EditorDraftBlockInitMetaInput } from '@riverbankcms/core';
import type { BlockItem } from '../types';
type DraftsSlice = {
    getBlockSnapshot: (blockId: EditorBlockId) => {
        id: EditorBlockId;
    } | null;
    initNewBlock: (blockId: EditorBlockId, baseline: EditorBlockBaselineInput, meta: EditorDraftBlockInitMetaInput) => void;
    updateBlockBaseline: (blockId: EditorBlockId, baseline: EditorBlockBaselineInput, meta?: EditorDraftBlockBaselineUpdateMetaInput) => void;
    inspect: () => Array<{
        id: EditorBlockId;
    }>;
    remove: (blockId: EditorBlockId) => void;
};
type UiStore = {
    getState: () => {
        drafts: DraftsSlice;
    };
};
export declare function useBlockBaselineSync({ enabled, blockList, blockFieldExtensions, uiStore, }: {
    enabled: boolean;
    blockList: BlockItem[];
    blockFieldExtensions?: Readonly<Record<string, {
        fields?: ReadonlyArray<{
            id: string;
            defaultValue?: unknown;
        }>;
    }>> | null;
    uiStore: UiStore | null;
}): void;
export {};
