import { AbstractionBase, Matrix3D, Vector3D, Sphere, Box } from '@awayjs/core';
import { PickEntity } from './PickEntity';
import { PickingCollision } from '../pick/PickingCollision';
import { IPickable } from './IPickable';
/**
 * @class RenderableListItem
 */
export declare class _Pick_PickableBase extends AbstractionBase {
    protected _orientedBoxBounds: Box;
    protected _orientedBoxBoundsDirty: boolean;
    protected _orientedSphereBounds: Sphere;
    protected _orientedSphereBoundsDirty: boolean;
    get pickable(): IPickable;
    /**
     *
     * @param renderable
     * @param sourceEntity
     * @param surface
     * @param renderer
     */
    init(pickable: IPickable, entity: PickEntity): void;
    onInvalidate(): void;
    onClear(): void;
    hitTestPoint(x: number, y: number, z: number): boolean;
    getBoxBounds(matrix3D?: Matrix3D, strokeFlag?: boolean, cache?: Box, target?: Box): Box;
    getSphereBounds(center: Vector3D, matrix3D?: Matrix3D, strokeFlag?: boolean, cache?: Sphere, target?: Sphere): Sphere;
    testCollision(collision: PickingCollision, closestFlag: boolean): boolean;
    _onInvalidateElements(): void;
}
//# sourceMappingURL=_Pick_PickableBase.d.ts.map