import { DisplayObjectConfig, Path } from '@antv/g';
import type { BaseCell } from '../cell';
import { CustomRendererConfig } from '../common/interface/renderer';
import { SimpleBBox } from '../engine';
export declare abstract class BaseRenderer {
    static mediaCache: Map<string, HTMLElement | null>;
    abstract prepare(renderer: CustomRendererConfig, cell: BaseCell<SimpleBBox>): Promise<HTMLElement | string | null>;
    abstract render(cell: BaseCell<SimpleBBox>, config: DisplayObjectConfig<CustomRendererConfig['config']>): void;
    abstract generateConfig(renderer: CustomRendererConfig, cell: BaseCell<SimpleBBox>, element: HTMLElement | string): DisplayObjectConfig<CustomRendererConfig['config']>;
    protected getLoading(cell: BaseCell<SimpleBBox>): Path;
    process(renderer: CustomRendererConfig, cell: BaseCell<SimpleBBox>): Promise<void>;
    destroy(): void;
    getCellInfo(cell: BaseCell<SimpleBBox>): {
        x: number;
        y: number;
        width: number;
        height: number;
        text: string;
    };
}
