import type { GeometryFeature, GeometryId } from '@mappedin/mvf-core'; import type { NavigationFlagDeclarations } from '@mappedin/mvf-navigation-flags'; import type { NodeFeature, NodeId, NodeNeighbor } from '@mappedin/mvf-nodes'; import { type GeometryMaps } from './converterUtils.js'; import { type CenterCalculator, type CenterStrategy } from './geoCenter.js'; import type { MVFv2_STANDARD_MVFv3 } from './index.js'; /** * Options that tune how an MVFv3 bundle is converted to MVFv2. */ export type ConvertOptions = { /** * How polygon centers (`center` of spaces, obstructions, and areas) are * computed. Defaults to `'center-of-mass'` (the area-weighted centroid that * matches natively generated Maker MVFv2 bundles). Use `'visual-center'` for * the `polylabel` pole of inaccessibility, or pass a {@link CenterCalculator} * for a custom implementation. * * @default 'center-of-mass' */ centerStrategy?: CenterStrategy; }; export type BuilderOptions = { geometryMaps: GeometryMaps; nodesByGeometryId: Map; geometryFeatureById: Map; navigationFlags: NavigationFlagDeclarations; incomingEdgesByNodeId: Map>; nodesById: Map; centerCalculator: CenterCalculator; }; export declare function buildBuilderOptions(v3: Partial, convertOptions?: ConvertOptions): BuilderOptions; export declare function buildNodeMaps(v3: Pick): { nodesByGeometryId: Map; incomingEdgesByNodeId: Map>; nodesById: Map; }; export declare function buildGeometryFeatureById(v3: Partial>): Map; //# sourceMappingURL=builderOptions.d.ts.map