import type { IBaseLayoutOptions, TagItemAttribute } from './interface'; import { BaseLayout } from './base'; import type { IBoundsLike } from '@visactor/vutils'; export interface TagItem { datum: any; width: number; height: number; text: string; fontSize: number; fontWeight: string; fontStyle: string; fontFamily: string; angle: number; x: number; y: number; top: number; left: number; } interface IFastLayoutOptions extends IBaseLayoutOptions { padding?: TagItemAttribute; enlarge?: boolean; getTextBounds: (attrs: Partial) => IBoundsLike; } export declare class FastLayout extends BaseLayout { private random; private center; private aspectRatio; private maxRadius; private width; private height; static defaultOptions: Partial; constructor(options: IFastLayoutOptions); private fit; private getTextInfo; layoutWord(index: number): boolean; layout(data: any[], config: { width: number; height: number; }): import("./interface").TagOutputItem[]; } export {};