/** * Copyright (c) 2020-2023 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author Alexander Rose */ import { WebGLContext } from '../../mol-gl/webgl/context.js'; import { Scene } from '../../mol-gl/scene.js'; import { Vec3, Mat3 } from '../../mol-math/linear-algebra.js'; import { Sphere3D } from '../../mol-math/geometry.js'; import { ParamDefinition as PD } from '../../mol-util/param-definition.js'; import { PickingId } from '../../mol-geo/geometry/picking.js'; import { Camera } from '../camera.js'; import { DataLoci, Loci } from '../../mol-model/loci.js'; import { MarkerAction } from '../../mol-util/marker-action.js'; export declare const HandleHelperParams: { handle: PD.Mapped, "off"> | PD.NamedParams; quality: "auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest"; material: PD.Normalize<{ metalness: number; roughness: number; bumpiness: number; }>; clip: PD.Normalize<{ variant: /*elided*/ any; objects: /*elided*/ any; }>; emissive: number; density: number; instanceGranularity: boolean; lod: Vec3; cellSize: number; batchSize: number; }>, "on">>; }; export type HandleHelperParams = typeof HandleHelperParams; export type HandleHelperProps = PD.Values; export declare class HandleHelper { private webgl; scene: Scene; props: HandleHelperProps; private renderObject; private pixelRatio; private _transform; getBoundingSphere(out: Sphere3D, instanceId: number): Sphere3D; setProps(props: Partial): void; get isEnabled(): boolean; update(camera: Camera, position: Vec3, rotation: Mat3): void; getLoci(pickingId: PickingId): { kind: "empty-loci"; } | DataLoci; private eachGroup; mark(loci: Loci, action: MarkerAction): boolean; constructor(webgl: WebGLContext, props?: Partial); } export declare const HandleGroup: { readonly None: 0; readonly TranslateScreenXY: 1; readonly TranslateObjectX: 3; readonly TranslateObjectY: 4; readonly TranslateObjectZ: 5; }; declare function HandleLoci(handleHelper: HandleHelper, groupId: number, instanceId: number): DataLoci; export type HandleLoci = ReturnType; export declare function isHandleLoci(x: Loci): x is HandleLoci; export {};