import { DecryptedPropertyStub } from './PropertyStub.mjs'; import { StoredDocument } from './base/StoredDocument.mjs'; /** * * Represents a type of calendar item, defining properties like duration, color, and name for * appointments. * Calendar item types are used to categorize calendar items within an agenda. * / */ export declare class CalendarItemType implements StoredDocument { /** * * The Id of the calendar item type. */ id: string; /** * * The revision of the calendar item type in the database, used for conflict management / * optimistic locking. */ rev: string | undefined; /** * * Hard delete (unix epoch in ms) timestamp of the object. */ deletionDate: number | undefined; /** * * The id of the healthcare party associated with this type. */ healthcarePartyId: string | undefined; /** * * The id of the agenda this type belongs to. */ agendaId: string | undefined; /** * * Whether this is the default calendar item type for its agenda. */ defaultCalendarItemType: boolean; /** * * The display name of this calendar item type. */ name: string | undefined; /** * * The color associated with this type, in hex format (e.g. "#123456"). */ color: string | undefined; /** * * The default duration in minutes for calendar items of this type. */ duration: number; /** * * Optional configuration for additional allowed durations. */ extraDurationsConfig: CalendarItemType.DurationConfig | undefined; /** * * An external reference identifier. */ externalRef: string | undefined; /** * * An external Mikrono identifier. */ mikronoId: string | undefined; /** * * A set of document ids associated with this type. */ docIds: Array; /** * * Additional information stored as key-value pairs. */ otherInfos: { [key: string]: string; }; /** * * Subject text for this calendar item type, by language. */ subjectByLanguage: { [key: string]: string; }; /** * * Public properties exposed to anonymous endpoints for public calendar items. */ publicProperties: Array | undefined; constructor(partial: Partial); toJSON(): object; static fromJSON(json: any, ignoreUnknownKeys?: boolean, path?: Array): CalendarItemType; } export declare namespace CalendarItemType { namespace DurationConfig { class Set { durations: Array; readonly $ktClass: 'com.icure.cardinal.sdk.model.CalendarItemType.DurationConfig.Set'; constructor(partial: Partial); toJSON(): object; static fromJSON(json: any, ignoreUnknownKeys?: boolean, path?: Array): Set; } class Formula { min: number; max: number; step: number; readonly $ktClass: 'com.icure.cardinal.sdk.model.CalendarItemType.DurationConfig.Formula'; constructor(partial: Partial & Pick); toJSON(): object; static fromJSON(json: any, ignoreUnknownKeys?: boolean, path?: Array): Formula; } function fromJSON(json: any, ignoreUnknownKeys?: boolean, path?: Array): DurationConfig; } type DurationConfig = DurationConfig.Set | DurationConfig.Formula; }