import ZRText from 'zrender/lib/graphic/Text.js'; 
 | 
import { LabelLayoutOption } from '../util/types.js'; 
 | 
import { BoundingRect, OrientedBoundingRect, Polyline } from '../util/graphic.js'; 
 | 
interface LabelLayoutListPrepareInput { 
 | 
    label: ZRText; 
 | 
    labelLine?: Polyline; 
 | 
    computedLayoutOption?: LabelLayoutOption; 
 | 
    priority: number; 
 | 
    defaultAttr: { 
 | 
        ignore: boolean; 
 | 
        labelGuideIgnore?: boolean; 
 | 
    }; 
 | 
} 
 | 
export interface LabelLayoutInfo { 
 | 
    label: ZRText; 
 | 
    labelLine: Polyline; 
 | 
    priority: number; 
 | 
    rect: BoundingRect; 
 | 
    localRect: BoundingRect; 
 | 
    obb?: OrientedBoundingRect; 
 | 
    axisAligned: boolean; 
 | 
    layoutOption: LabelLayoutOption; 
 | 
    defaultAttr: { 
 | 
        ignore: boolean; 
 | 
        labelGuideIgnore?: boolean; 
 | 
    }; 
 | 
    transform: number[]; 
 | 
} 
 | 
export declare function prepareLayoutList(input: LabelLayoutListPrepareInput[]): LabelLayoutInfo[]; 
 | 
/** 
 | 
 * Adjust labels on x direction to avoid overlap. 
 | 
 */ 
 | 
export declare function shiftLayoutOnX(list: Pick<LabelLayoutInfo, 'rect' | 'label'>[], leftBound: number, rightBound: number, balanceShift?: boolean): boolean; 
 | 
/** 
 | 
 * Adjust labels on y direction to avoid overlap. 
 | 
 */ 
 | 
export declare function shiftLayoutOnY(list: Pick<LabelLayoutInfo, 'rect' | 'label'>[], topBound: number, bottomBound: number, balanceShift?: boolean): boolean; 
 | 
export declare function hideOverlap(labelList: LabelLayoutInfo[]): void; 
 | 
export {}; 
 |