import { IContactInfo } from "../Contacts/contacts"; export declare enum TicketStage { NEW = "NEW", ACTIVE = "ACTIVE", RESOLVED = "RESOLVED", CLOSED = "CLOSED", CANCELLED = "CANCELLED" } export declare enum TicketPriority { LOW = "LOW", MEDIUM = "MEDIUM", HIGH = "HIGH", URGENT = "URGENT" } export declare enum TicketOrigin { MANUAL = "MANUAL", API = "API", IMPORT = "IMPORT", AUTOMATION = "AUTOMATION", CONVERSATION = "CONVERSATION", WEB_FORM = "WEB_FORM", SOCIAL_MEDIA = "SOCIAL_MEDIA", EMAIL = "EMAIL", PHONE = "PHONE", OTHER = "OTHER" } export declare enum TicketAccessLevel { ALL = "ALL", GROUP = "GROUP", AGENT = "AGENT", OWN = "OWN" } export type TicketPropertyPrimitive = string | number | boolean | Date | null; export type TicketPropertyValue = TicketPropertyPrimitive | TicketPropertyValue[] | { [key: string]: TicketPropertyValue; }; export interface ITicketProperty { nameKey: string; value: TicketPropertyValue; } export interface ITicketTagInfo { id: string; name: string; color?: string; } export interface ITicketExternalReference { system: string; externalId: string; externalUrl?: string; lastSyncedAt?: Date; } export interface ITicketAttachment { id: string; spaceId: string; ticketId: string; fileName: string; mimeType: string; sizeBytes: number; storageKey: string; downloadUrl?: string; checksum?: string; createdAt: Date; createdBy: string; deletedAt?: Date; deletedBy?: string; } export interface ITicketAuditedEntity { id: string; spaceId: string; createdAt: Date; createdBy: string; updatedAt?: Date; updatedBy?: string; deletedAt?: Date; deletedBy?: string; } export type ITicketContactProjection = IContactInfo; export interface ITicketDateRange { from: Date; to: Date; } export interface ITicketMetricPoint { date: Date; value: number; } export interface ITicketMetricGroup { key: string; label: string; value: number; }