import { Object3D } from 'three';
import { IUiConfigContainer } from 'uiconfig.js';
import { Group2, IWidget } from '../../core';
/**
 * Abstract base class for helper widgets that visualize scene objects.
 * Provides event-driven lifecycle (attach/detach/update) and UI integration.
 * See https://threepipe.org/notes/widgets-and-helpers for the full widget system documentation.
 */
export declare abstract class AHelperWidget extends Group2 implements IWidget {
    isWidget: true;
    assetType: "widget";
    object: (Object3D & IUiConfigContainer) | undefined;
    visible: boolean;
    protected constructor(object: Object3D & IUiConfigContainer, attach?: boolean);
    update(setDirty?: boolean): void;
    private _objectUpdated;
    protected _objectUpdate(): void;
    protected _objectBeforeRender(): void;
    attach(object: Object3D): this;
    detach(): this;
    uiConfig: import('uiconfig.js').UiObjectConfig<any, string, any>;
    dispose(): void;
}
//# sourceMappingURL=../../src/three/widgets/AHelperWidget.d.ts.map