import { ConstructorProps, ContextManager, Observable } from '@zcomponent/core'; import { Group } from '../Group'; export declare enum ChildBreadcrumbsAlignment { None = "none", Yaw = "yaw", YawAndPitch = "yaw-and-pitch" } interface ChildBreadcrumbsConstructorProps extends ConstructorProps { /** * The maximum number of breadcrumbs to display. * * @zprop * @zdefault 50 */ maxCrumbs: number; } /** * A component that makes copies of its children and displays them along a curve. * * You may either set the `curve` property to a Curve3 node, or set the `path` property to an array of points. * * @zcomponent * @zgroup Navigation * @zicon assistant_navigation * @ztag three/Object3D/Group/ChildrenBreadcrumbs * @zparents three/Object3D/Group/** */ export declare class ChildrenBreadcrumbs extends Group { constructorProps: ChildBreadcrumbsConstructorProps; private _curve; private _curveComponent; private _generatedPath; private _groupsByPoint; constructor(contextManager: ContextManager, constructorProps: ChildBreadcrumbsConstructorProps); private _updateCurve; private _clear; private _updatePath; /** * The path to follow. This is used if no Curve3 is set via the `curve` property or as a child. * * @zui */ path: Observable<[x: number, y: number, z: number][], never>; /** * The curve to follow. * * @zui * @zgroup Breadcrumbs * @zgrouppriority 50 * @zvalues nodeids three/Curve3/** */ curve: Observable; /** * The gap between breadcrumbs, in world units. * * @zgroup Breadcrumbs * @zgrouppriority 50 * @zprop * @zdefault 0.3 */ gap: Observable; /** * Whether to align the breadcrumbs with the slope of the curve. * * @zgroup Breadcrumbs * @zgrouppriority 50 * @zprop * @zdefault yaw-and-pitch */ alignWithSlope: Observable; /** * Whether to update the breadcrumbs every frame. This is useful if the curve's transform is changing often, but has a performance cost. * * @zgroup Breadcrumbs * @zgrouppriority 50 * @zprop * @zdefault false */ updateEveryFrame: Observable; } export {};