import type { editor } from 'monaco-editor';
import type { BookEditorTheme } from './BookEditorTheme';
/**
 * Type describing monaco editor.
 */
type MonacoEditor = typeof import('monaco-editor');
/**
 * Props for use book editor monaco lifecycle.
 */
type UseBookEditorMonacoLifecycleProps = {
    readonly monaco: MonacoEditor | null;
    readonly theme: BookEditorTheme;
};
/**
 * Result of use book editor monaco lifecycle.
 */
type UseBookEditorMonacoLifecycleResult = {
    readonly editor: editor.IStandaloneCodeEditor | null;
    readonly isFocused: boolean;
    readonly isTouchDevice: boolean;
    readonly isSavedShown: boolean;
    readonly handleBeforeMonacoMount: (beforeMountMonaco: MonacoEditor) => void;
    readonly handleMonacoMount: (mountedEditor: editor.IStandaloneCodeEditor, mountedMonaco: MonacoEditor) => void;
};
/**
 * Manages Monaco lifecycle wiring for `BookEditorMonaco`.
 *
 * @private function of BookEditorMonaco
 */
export declare function useBookEditorMonacoLifecycle({ monaco, theme, }: UseBookEditorMonacoLifecycleProps): UseBookEditorMonacoLifecycleResult;
export {};
