export type DataId = string; export declare enum MapKind { Real = "Real", Virtual = "Virtual" } export type IconKey = { type: 'system' | 'original'; id: string; }; export type IconDefine = IconKey & { caption: string; imagePath: string; defaultColor?: string; useMaps: MapKind[]; }; export declare enum FeatureType { STRUCTURE = "STRUCTURE", ROAD = "ROAD", EARTH = "EARTH", FOREST = "FOREST", AREA = "AREA", TRACK = "TRACK", STATIC_IMAGE = "STATIC_IMAGE" } export type GeocoderIdInfo = { map: 'osm'; osm_type: string; osm_id: number; } | { map: 'mapbox'; id: string; }; export type GeoProperties = { featureType: FeatureType.STRUCTURE; icon?: IconKey; mark?: { key: IconKey; speed: number; }; color?: string; } | { featureType: FeatureType.ROAD; width: string; } | { featureType: FeatureType.EARTH | FeatureType.FOREST; radius?: number; } | { featureType: FeatureType.AREA; radius?: number; geocoderId?: GeocoderIdInfo; color?: string; } | { featureType: FeatureType.TRACK; min_zoom: number; max_zoom: number; } | ({ featureType: FeatureType.STATIC_IMAGE; opacity?: number; } & ({ url: string; } | { base64: string; })); export declare enum DatasourceLocationKindType { VirtualItem = "VirtualItem", RealItem = "RealItem", Track = "Track", StaticImage = "StaticImage", None = "None" } export type ItemDatasourceConfig = { kind: DatasourceLocationKindType.Track | DatasourceLocationKindType.VirtualItem; } | { kind: DatasourceLocationKindType.RealItem; drawableArea: boolean; defaultIcon?: IconKey; } | { kind: DatasourceLocationKindType.StaticImage; }; export type ContentDatasourceConfig = { linkableToItem: boolean; readonly?: boolean; fields: ContentFieldDefine[]; }; export type ContentFieldDefine = { key: string; type: 'title' | 'string' | 'date' | 'url' | 'text' | 'category' | 'single-category' | 'number' | 'image'; label: string; readonly?: boolean; } | { key: string; type: 'link'; label: string; databaseId: string; bidirectional?: { fieldKey: string; }; }; export type LocationFieldDefine = { type: 'point'; fields: { latitude: string; longitude: string; radius?: string; }; } | { type: 'geojson'; fields: { geojson: string; }; } | { type: 'track'; fields: { gpxfile: string; }; } | { type: 'static-image'; fields: { image: string; extent: string; opacity?: string; }; }; export type ContentValue = { type: 'title' | 'string' | 'text' | 'date' | 'url'; value: string; } | { type: 'number'; value: number; } | { type: 'category' | 'single-category'; value: string[]; } | { type: 'image'; value: number[]; } | { type: 'link'; value: { dataId: DataId; name: string; }[]; }; export type ContentValueInput = Exclude | { type: 'image'; value: ({ type: 'url'; url: string; } | { type: 'base64'; fileName: string; base64: string; })[]; } | { type: 'link'; value: DataId[]; }; export type ContentValueMapInput = { [key: string]: ContentValueInput['value']; }; export type ContentValueMap = { [key: string]: ContentValue['value']; };