import type { IBaseLayoutOptions, TagItemFunction, TagOutputItem } from './interface'; export declare abstract class BaseLayout { static defaultOptions: Partial; options: Partial; shape: (theta: number) => number; getTextFontWeight: TagItemFunction; getTextFontSize: TagItemFunction; getTextFontFamily: TagItemFunction; getText: TagItemFunction; getTextColor: TagItemFunction; getTextFontStyle: TagItemFunction; getTextRotate: TagItemFunction; outputCallback: (res: any[]) => any[]; escapeTime?: number; result: TagOutputItem[]; data?: any[]; originalData?: any[]; currentStepIndex?: number; progressiveIndex?: number; progressiveResult?: TagOutputItem[]; drawnCount?: number; isTryRepeatFill?: boolean; failCount?: number; constructor(options: Partial); canRepeat(): boolean; exceedTime(): boolean; progressiveRun(): TagOutputItem[]; abstract layoutWord(i: number): boolean; abstract layout(data: any[], config: { width: number; height: number; origin?: [number, number]; canvas?: HTMLCanvasElement; }): any[]; initProgressive(): void; output(): any[]; progressiveOutput(): any[]; unfinished(): boolean; release(): void; }