import { type ArrayNumber3, TgdBoundingBox } from "@tolokoban/tgd"; import { type MorphoViewerTree, type MorphoViewerTreeItem, MorphoViewerTreeItemType } from "../types/public"; export interface StructureItem { parent?: StructureItem; children: StructureItem[]; index: number; name: string; sectionName: string; sectionIndex: number; segmentIndex: number; segmentsCount: number; start: ArrayNumber3; end: ArrayNumber3; radiusStart: number; radiusEnd: number; type: MorphoViewerTreeItemType; segmentLength: number; sectionLength: number; distanceFromSoma: number; leavesCount: number; maxLength: number; rank: number; node: MorphoViewerTreeItem; } export interface StructureBoundingBox { min: ArrayNumber3; max: ArrayNumber3; center: ArrayNumber3; } export declare class Structure { readonly cellId: string; readonly root: StructureItem; readonly bboxDendrites: TgdBoundingBox; readonly zoomMin: number; readonly zoomMax: number; readonly center: Readonly; readonly useStraightCylinders: boolean; private readonly bbox; private readonly bboxSoma; private readonly items; private readonly segmentsPerSection; private _hasApicalDendrites; constructor(morphology: MorphoViewerTree); private computeSectionsLengths; private createAllSegments; private computeDistancesFromSoma; get hasApicalDendrites(): boolean; private registerBranch; getSegmentsOfSection(sectionName: string): StructureItem[]; getSegmentOfSectionAtOffset(sectionName: string, offset: number): { segment: StructureItem; offset: number; } | null; get length(): number; get(index: number): StructureItem; forEach(callback: (item: StructureItem, index: number) => void): void; private createSegment; } //# sourceMappingURL=structure.d.ts.map