import type { PartialExcept } from '@mappedin/mvf-core'; import type { AnnotationCollection, AnnotationSymbols, AreaCollection, Category, EnterpriseCollection, Facade, FloorImageFeatureCollection, Location, ModelInstanceCollection, NavigationFlagDeclarations, ShapeCollection, ShapeInstanceCollection, StyleCollection, TextAreaFeatureCollection, TilesetCollection, WindowCollection } from '../extensions/index.js'; import type { Connections, EntranceCollection, FloorCollection, FloorId, FloorStackId, FloorStacks, Maps, NodeCollection, ObstructionCollection, SpaceCollection } from './core.js'; import type { FeatureCollectionType, FeatureType, Point } from './geojson.js'; export type ManifestFile = { type: 'file'; name: string; }; export type ManifestFolder = { type: 'folder'; name: string; /** * @minItems 1 */ children: ManifestFile[]; }; export type ManifestProperties = { name: string; org_id?: string; folder_struct: (ManifestFolder | ManifestFile)[]; version: '2.0.0'; /** * An ISO 8601 date-time string, including timezone offset. * @format date-time */ time: string; /** * The angle, in degrees, the map is considered to be "naturally oriented" * as, rather than facing directly north. 90 degrees means East is "up" * @minimum 0 * @maximum 360 */ naturalBearing?: number; /** * The RFC 5646 language tag of the MVF. * https://datatracker.ietf.org/doc/html/rfc5646 * * @example "en-US" * @example "fr */ language?: string; /** * The map's timezone, from the IANA Time Zone Database. Should be in the * format of `America/New_York` * * @example "America/New_York" * @pattern ^[A-Za-z0-9_-]+\/[A-Za-z0-9_-]+$ */ tzid?: string; /** * The identifier of the map that this MVF is for. */ map?: string; /** * Additional details about the manifest. * Used for backwards compatibility with MVFv3. */ details?: { /** * An identifier that can be used to link this manifest to some external system or database. */ externalId?: string; }; }; export type ManifestFeature = { type: FeatureType; geometry: Point; properties: ManifestProperties; }; export type ManifestCollection = { type: FeatureCollectionType; /** * @minItems 1 * @maxItems 1 */ features: ManifestFeature[]; }; export type RawMVF = { 'manifest.geojson': Uint8Array; /** * @deprecated Use `mapstack.json` instead. */ 'mapstack.geojson': Uint8Array; /** * @deprecated Use `floorstack.json` instead. */ 'mapstack.json'?: Uint8Array; 'floorstack.json'?: Uint8Array; /** * @deprecated Use `floor.geojson` instead. */ 'map.geojson': Uint8Array; 'floor.geojson'?: Uint8Array; space: Partial>; obstruction: Partial>; 'connection.json': Uint8Array; 'node.geojson': Uint8Array; entrance: Partial>; 'styles.json'?: Uint8Array; floorImages?: Partial>; 'shapes.json'?: Uint8Array; shapeInstances?: Partial>; modelInstances?: Partial>; window?: Partial>; annotation?: Partial>; textAreas?: Partial>; enterprise?: Partial>; area?: Partial>; facade?: Partial>; 'tileset.json'?: Uint8Array; 'location.json'?: Uint8Array; 'category.json'?: Uint8Array; 'navigationFlags.json'?: Uint8Array; 'annotation-symbols.json'?: Uint8Array; }; export type ParsedMVF = { 'manifest.geojson': ManifestCollection; /** * @deprecated Use `floorstack.json` instead. */ 'mapstack.geojson': FloorStacks; /** * @deprecated Use `floorstack.json` instead. */ 'mapstack.json'?: FloorStacks; 'floorstack.json'?: FloorStacks; /** * @deprecated Use `floor.geojson` instead. */ 'map.geojson': Maps; 'floor.geojson'?: FloorCollection; /** * @propertyNames { "pattern": "^fs_[A-Za-z0-9_-]+$" } */ facade?: { [floorStackId: FloorStackId]: Facade | undefined; }; /** * @propertyNames { "pattern": "^[mf]_[A-Za-z0-9_-]+$" } */ space: { [floorId: FloorId]: SpaceCollection | undefined; }; /** * @propertyNames { "pattern": "^[mf]_[A-Za-z0-9_-]+$" } */ obstruction: { [floorId: FloorId]: ObstructionCollection | undefined; }; 'connection.json': Connections; 'node.geojson': NodeCollection; /** * @propertyNames { "pattern": "^[mf]_[A-Za-z0-9_-]+$" } */ entrance: { [floorId: FloorId]: EntranceCollection | undefined; }; 'styles.json'?: StyleCollection; /** * @propertyNames { "pattern": "^[mf]_[A-Za-z0-9_-]+$" } */ floorImages?: { [floorId: FloorId]: FloorImageFeatureCollection | undefined; }; 'shapes.json'?: ShapeCollection; /** * @propertyNames { "pattern": "^[mf]_[A-Za-z0-9_-]+$" } */ shapeInstances?: { [floorId: FloorId]: ShapeInstanceCollection | undefined; }; /** * @propertyNames { "pattern": "^[mf]_[A-Za-z0-9_-]+$" } */ modelInstances?: { [floorId: FloorId]: ModelInstanceCollection | undefined; }; /** * @propertyNames { "pattern": "^[mf]_[A-Za-z0-9_-]+$" } */ window?: { [floorId: FloorId]: WindowCollection | undefined; }; /** * @propertyNames { "pattern": "^[mf]_[A-Za-z0-9_-]+$" } */ annotation?: { [floorId: FloorId]: AnnotationCollection | undefined; }; /** * @propertyNames { "pattern": "^[mf]_[A-Za-z0-9_-]+$" } */ textAreas?: { [floorId: FloorId]: TextAreaFeatureCollection | undefined; }; enterprise?: EnterpriseCollection; /** * @propertyNames { "pattern": "^[mf]_[A-Za-z0-9_-]+$" } */ area?: { [floorId: FloorId]: AreaCollection | undefined; }; 'tileset.json'?: TilesetCollection; 'location.json'?: Location[]; 'category.json'?: Category[]; 'navigationFlags.json'?: NavigationFlagDeclarations; 'annotation-symbols.json'?: AnnotationSymbols; }; /** * A locale pack is a partial MVF, with values that are meant to override * the values in the base MVF. Manifest is still required, but everything * else is optional. If a deeply nested array of objects contains an object * with an ID, that ID must match the ID of the object in the base MVF. * * It will be used to merge the details of that object into a localized MVF. See * the `mergeLocalePack` function for more details. */ export type ParsedMVFLocalePack = PartialExcept; /** * A raw MVF locale pack is a partial MVF, with values that are meant to override * the values in the base MVF. Manifest is still required, but everything * else is optional. This will NOT be a valid MVF unless combined with a base MVF. */ export type RawMVFLocalePack = PartialExcept; //# sourceMappingURL=bundle.d.ts.map