import { type IAABBBounds } from '@visactor/vutils';
import type { IGraphic, IStage, IPlugin, IPluginService } from '../../interface';
export declare class DirtyBoundsPlugin implements IPlugin {
    name: 'DirtyBoundsPlugin';
    activeEvent: 'onRegister';
    pluginService: IPluginService;
    _uid: number;
    key: string;
    protected dirtyBoundsHooksRegistered: boolean;
    protected ensurePaintDirtyBoundsCache(graphic: IGraphic): IAABBBounds;
    protected getRemoveDirtyBounds(graphic: IGraphic): IAABBBounds | undefined;
    protected handlePaintOnlyUpdate: (graphic: IGraphic) => void;
    protected registerDirtyBoundsHooks(stage: IStage): void;
    activate(context: IPluginService): void;
    deactivate(context: IPluginService): void;
}
