import { ForwardedRef, MutableRefObject } from 'react';
import { EditorProps, InnerError, SettingType, StaticProps, UpdateSetting, MdPreviewProps } from './type';
import { ContentExposeParam } from './layouts/Content/type';
/**
 * 键盘监听
 *
 * @param props
 * @param staticProps
 */
export declare const useOnSave: (props: EditorProps, staticProps: StaticProps) => void;
/**
 * 插入编辑器支持的扩展外链
 *
 * @param staticProps
 */
export declare const useExpansion: (staticProps: StaticProps) => void;
export declare const useExpansionPreview: () => void;
/**
 *  错误监听
 *
 * @param editorId
 * @param onError
 */
export declare const useErrorCatcher: (editorId: string, onError: (err: InnerError) => void) => void;
/**
 * 上传图片事件
 * @param props
 * @param staticProps
 */
export declare const useUploadImg: (props: EditorProps, staticProps: StaticProps) => void;
/**
 * 内部目录状态
 *
 * @param props
 * @param staticProps
 * @returns
 */
export declare const useCatalog: (_props: EditorProps, staticProps: StaticProps) => boolean;
/**
 * 收集整理公共配置
 * highlight及language重构
 * [SettingType, (k: keyof typeof setting) => void] => {}
 * @param props
 * @returns
 */
export declare const useConfig: (props: EditorProps) => any[];
/**
 * 向外暴露属性
 *
 * @param editorRef 绑定的ref
 * @param staticProps 静态属性
 * @param catalogVisible 目录显示状态
 * @param setting 内部状态集合
 * @param updateSetting 更新内部集合
 */
export declare const useExpose: (editorRef: ForwardedRef<unknown>, staticProps: StaticProps, catalogVisible: boolean, setting: SettingType, updateSetting: UpdateSetting, codeRef: MutableRefObject<ContentExposeParam | undefined>) => void;
export declare const useEditorId: (props: MdPreviewProps) => string;
