import type { editor } from 'monaco-editor';
import type { UploadDecorationIdsRef, UploadFilesRef, UploadPlaceholderEntry } from './bookEditorMonacoUploadTypes';
/**
 * Props for Monaco placeholder and replacement synchronization.
 *
 * @private function of BookEditorMonaco
 */
type UseBookEditorMonacoUploadEditorSyncProps = {
    readonly editor: editor.IStandaloneCodeEditor | null;
    readonly uploadFilesRef: UploadFilesRef;
    readonly uploadDecorationIdsRef: UploadDecorationIdsRef;
};
/**
 * Manages Monaco placeholder insertion and later replacement with uploaded URLs.
 *
 * @private function of BookEditorMonaco
 */
export declare function useBookEditorMonacoUploadEditorSync({ editor, uploadFilesRef, uploadDecorationIdsRef, }: UseBookEditorMonacoUploadEditorSyncProps): {
    registerUploadPlaceholderResources: (placeholders: ReadonlyArray<UploadPlaceholderEntry>, decorationIds: ReadonlyArray<string>) => void;
    queueEditorReplacement: (uploadId: string, replacementText: string) => void;
    clearEditorSync: () => void;
};
export {};
