import type { GeoCoordinates, GeoPosition, IdObject, LinkAttendeesRef, LinkOrganizerRef, ParentsMap, OrganizerMap, PostalAddress, DateValue } from "./common.js"; import type EJSONType from "../../EJSONType.js"; type ObjectIDCtor = typeof EJSONType["ObjectID"]; type ObjectID = InstanceType; export interface EventLinksBlock { attendees?: Record; organizer?: Record; [k: string]: unknown; } /** * Types d'événements supportés */ export declare const EVENT_TYPES: readonly ["workshop", "competition", "concert", "contest", "conference", "debate", "exhibition", "festival", "crowdfunding", "fair", "course", "protest", "market", "film", "getTogether", "meeting", "spectacle", "internship", "stand", "others"]; export type EventType = (typeof EVENT_TYPES)[number]; export interface EventItemJson { _id: IdObject; collection: "events"; name: string; type: EventType; startDate: DateValue; endDate: DateValue; created?: DateValue; updated?: DateValue; modified?: DateValue; parent?: ParentsMap; description?: string; shortDescription?: string; slug?: string; address?: PostalAddress; geo?: GeoCoordinates; geoPosition?: GeoPosition; tags?: string[]; links?: EventLinksBlock; organizer?: OrganizerMap; creator?: string; profilImageUrl?: string; profilMediumImageUrl?: string; profilThumbImageUrl?: string; profilMarkerImageUrl?: string; timeZone?: string; email?: string; url?: string; [key: string]: unknown; } export interface EventItemNormalized { id: string; _id: ObjectID; collection: "events"; name: string; type: EventType; startDate: Date; endDate: Date; created?: Date; updated?: Date; modified?: Date; parent?: ParentsMap; description?: string; shortDescription?: string; slug?: string; address?: PostalAddress; geo?: GeoCoordinates; geoPosition?: GeoPosition; tags?: string[]; links?: EventLinksBlock; organizer?: OrganizerMap; creator?: string; profilImageUrl?: string; profilMediumImageUrl?: string; profilThumbImageUrl?: string; profilMarkerImageUrl?: string; timeZone?: string; email?: string; url?: string; [key: string]: unknown; } export {};