import { BaseMetaNode, LineInfo, TableSelectionMode } from '../../layout/types';
import { Doc } from '../../view/Doc';
import { ISelectionRange } from '../types/cursor';
/**
 *
 * @param doc
 * @param selection
 * @param upgrade 单元格是否升级成单个单元格选中
 * @returns
 */
export declare function getSelectLinesInfo(doc: Doc, selection: ISelectionRange, upgrade: boolean): {
    normalized: import('../types/cursor').INormalizedRange;
    pageIds: string[];
    start: BaseMetaNode;
    end: BaseMetaNode;
    startPageIdx: number;
    endPageIdx: number;
    selectedLines: LineInfo[];
    tableMode: TableSelectionMode;
    overlapIds: string[];
    widgetRunMap: Map<string, BaseMetaNode[]>;
    rangeWidgetIds: string[];
} | undefined;
