import { DecryptedPropertyStub } from './PropertyStub.mjs'; import { CodeStub } from './base/CodeStub.mjs'; import { HasEndOfLife } from './base/HasEndOfLife.mjs'; import { HasMedicalLocation } from './base/HasMedicalLocation.mjs'; import { ICureDocument } from './base/ICureDocument.mjs'; import { StoredDocument } from './base/StoredDocument.mjs'; import { AgendaSlottingAlgorithm } from './embed/AgendaSlottingAlgorithm.mjs'; import { ResourceGroupAllocationSchedule } from './embed/ResourceGroupAllocationSchedule.mjs'; import { UserAccessLevel } from './embed/UserAccessLevel.mjs'; /** * * * Represents an agenda that keeps track of appointments (calendar items) for a resource or group * of resources. * An agenda can specify a schedule for its resources and allows managing availabilities for * booking. */ export declare class Agenda implements StoredDocument, ICureDocument, HasMedicalLocation, HasEndOfLife { /** * * The Id of the agenda. We encourage using either a v4 UUID or a HL7 Id. */ id: string; /** * * The revision of the agenda in the database, used for conflict management / optimistic locking. */ rev: string | undefined; /** * * The timestamp (unix epoch in ms) of creation of this entity. */ created: number | undefined; /** * * The timestamp (unix epoch in ms) of the latest modification of this entity. */ modified: number | undefined; /** * * The id of the User that created this agenda. */ author: string | undefined; /** * * The id of the data owner that is responsible for this agenda. */ responsible: string | undefined; /** * * Tags that qualify the agenda as being member of a certain class. */ tags: Array; /** * * Codes that identify or qualify this particular agenda. */ codes: Array; /** * * Soft delete (unix epoch in ms) timestamp of the object. */ endOfLife: number | undefined; /** * * Hard delete (unix epoch in ms) timestamp of the object. */ deletionDate: number | undefined; /** * * A fuzzy time in HHMMSS format used to split working hours into blocks for availabilities * computation. */ daySplitHour: number | undefined; /** * * If true the agenda is not available for availabilities and safe booking requests. */ unpublished: boolean; /** * * The name of the agenda. */ name: string | undefined; /** * * The id of the user associated with this agenda. */ userId: string | undefined; /** * * An identifier for the time zone of the agenda, must be an id accepted by java's ZoneId. */ zoneId: string | undefined; /** * * Associates a user id to the permission that user has on the entity. */ userRights: { [key: string]: UserAccessLevel; }; /** * * The algorithm to use for computing time slots in the agenda. */ slottingAlgorithm: AgendaSlottingAlgorithm | undefined; /** * * If not null, limits the amount of monthly appointments per unprivileged user for this agenda. */ publicBookingQuota: number | undefined; /** * * Custom properties of the agenda. */ properties: Array; /** * * The resource group allocation schedules defining availability rules for this agenda. */ schedules: Array; constructor(partial: Partial); toJSON(): object; static fromJSON(json: any, ignoreUnknownKeys?: boolean, path?: Array): Agenda; }