/** * Copyright (c) 2018-2026 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author Alexander Rose */ import { Geometry, GeometryUtils } from '../../mol-geo/geometry/geometry.js'; import { Representation } from '../representation.js'; import { Shape } from '../../mol-model/shape.js'; import { RuntimeContext } from '../../mol-task/index.js'; import { ParamDefinition as PD } from '../../mol-util/param-definition.js'; export interface ShapeRepresentation> extends Representation { } export type ShapeGetter> = (ctx: RuntimeContext, data: D, props: PD.Values

, shape?: Shape) => Shape | Promise>; export interface ShapeBuilder> { /** Hook to modify representation props */ modifyProps?: (props: Partial>) => Partial>; /** Hook to modify representation state */ modifyState?: (state: Partial) => Partial; } export declare function ShapeRepresentation>(getShape: ShapeGetter, geometryUtils: GeometryUtils, builder?: ShapeBuilder): ShapeRepresentation;