/**
 * 编辑器浮层展开方向。
 */
export type OverlayPlacement = 'top' | 'bottom';
/**
 * 浮层锚点在编辑器内容坐标系中的稳定坐标。
 */
export interface OverlayContentAnchor {
    /** 锚点顶部（内容坐标）。 */
    anchorTopInContent: number;
    /** 锚点底部（内容坐标）。 */
    anchorBottomInContent: number;
    /** 锚点左侧（内容坐标）。 */
    anchorLeftInContent: number;
}
/**
 * 浮层视口坐标（用于 fixed 定位）。
 */
export interface OverlayViewportPosition {
    /** 视口顶部坐标。 */
    top: number;
    /** 视口左侧坐标。 */
    left: number;
}
/**
 * 浮层 Portal 内坐标（用于 absolute 定位）。
 */
export interface OverlayPortalPosition {
    /** Portal 内顶部坐标。 */
    top: number;
    /** Portal 内左侧坐标。 */
    left: number;
}
/**
 * 浮层换算配置。
 */
export interface OverlayPositionConfig {
    /** 编辑器滚动容器。 */
    wrapper: HTMLElement;
    /** 内容坐标锚点。 */
    anchor: OverlayContentAnchor;
    /** 浮层尺寸。 */
    overlaySize: {
        width: number;
    };
    /** 展开方向。 */
    placement: OverlayPlacement;
    /** 主轴偏移。 */
    offsetY: number;
    /** 边界内边距。 */
    boundaryInset: number;
}
/**
 * 解析真实滚动容器：优先 zt-md-editor，兜底回退到编辑器根节点。
 */
export declare const resolveEditorWrapper: (viewDom: HTMLElement | null) => HTMLElement | null;
/**
 * 根据当前光标视口矩形与阈值解析菜单展开方向。
 */
export declare const resolvePlacement: (anchorRect: DOMRect, threshold: number) => OverlayPlacement;
/**
 * 将锚点矩形换算为编辑器内容坐标中的稳定锚点。
 */
export declare const toContentAnchor: (anchorRect: DOMRect, wrapper: HTMLElement) => OverlayContentAnchor;
/**
 * 将内容坐标换算为视口 fixed 坐标。
 */
export declare const toViewportPosition: (config: OverlayPositionConfig) => OverlayViewportPosition;
/**
 * 将内容坐标换算为编辑器 Portal 内 absolute 坐标。
 */
export declare const toPortalPosition: (config: OverlayPositionConfig, portalContainer: HTMLElement) => OverlayPortalPosition;
/**
 * 创建浮层位置刷新调度器（RAF 节流 + 监听绑定/解绑）。
 */
export declare const createOverlayRepositionScheduler: (updateFn: () => void) => {
    schedule: () => void;
    bindGlobal: () => void;
    unbindGlobal: () => void;
    bindWrapper: (nextWrapper: HTMLElement | null) => void;
    destroy: () => void;
};
//# sourceMappingURL=editor-overlay-position.d.ts.map