import { HitHandler, HitIntent, HitResult } from './types';
import { Doc } from '../../view/Doc';
import { BaseMetaNode } from '../../layout/types';
import { CursorIntent } from '../types/cursor';
import { BuiltinComponentType } from '../../constants';
export declare class HitHandlerRegistry {
    private handlers;
    register(component: BuiltinComponentType, handler: HitHandler): void;
    get(component: BuiltinComponentType): HitHandler | undefined;
    /** 视觉命中委托 */
    handleHitDetection(doc: Doc, node: BaseMetaNode, actualX: number, actualY: number): HitResult | null;
    /**
     * 逻辑命中 -> HitResult
     * 逻辑命中是自己控制 offset 和 side 的
     */
    resolveCursorIntent(doc: Doc, node: BaseMetaNode, intent: CursorIntent): HitResult;
    /** 是否点中即全选 */
    isClickSelectAll(doc: Doc, node: BaseMetaNode): HitIntent;
}
