import { Renderer, Script, Vector2 } from "@galacean/engine"; /** * GPU Frame buffer picker. * @decorator `@dependentComponents(Camera, DependentMode.CheckOnly)` */ export declare class FramebufferPicker extends Script { private static _rootEntityRenderers; private static _pickPixel; private static _pickIds; private static _pickColorProperty; private _renderersMap; private _camera; private _pickRenderTarget; private _frameBufferSize; get frameBufferSize(): Vector2; set frameBufferSize(value: Vector2); onAwake(): void; /** * Pick up renderer at screen coordinate. * @param x - The x coordinate of screen * @param y - The y coordinate of screen * @returns Promise */ pick(x: number, y: number): Promise; /** * Pick up renderers in a rectangular region of the screen. * @param startX - The start x coordinate of screen * @param startY - The start y coordinate of screen * @param endX - The end x coordinate of screen * @param endY - The end y coordinate of screen * @returns Promise> */ regionPick(startX: number, startY: number, endX: number, endY: number): Promise>; private _checkFrameBufferSize; private _updateRenderersPickColor; private _setupRenderTarget; private _readPixelFromRenderTarget; private _getCoordOnRenderTarget; private _getRendererByPixel; private _getRenderersByPixel; private _uniqueId2Color; private _color2UniqueId; private _color2UniqueIds; }