/** * Type definitions for Teamflect API models */ export declare enum ResponseFormat { MARKDOWN = "markdown", JSON = "json" } export interface Goal { id?: string; goalId?: string; title: string; description?: string; status: string; outcome?: string; goalType: string | { _id: string; tenantId: string; goalLevel: number; visibleName: string; relatedUserAttribute: string; groupLevelVisibility: number; whoCanAdd: number[]; color: string; iconColor: string; icon: string; rank: number; __v: number; restrictionsOn: boolean; }; startDate?: string; dueDate?: string; isPrivate?: boolean; progress?: { currentValue: number; initialValue: number; targetValue: number; formatType: string; }; owners?: Array<{ id?: string; mail: string; displayName: string; userPrincipalName?: string; department?: string; jobTitle?: string; country?: string; oid?: string; UPN?: string; }>; labels?: Array>; relatedGroups?: Array>; parentGoal?: Record; createdBy?: { oid: string; displayName: string; userPrincipalName: string; }; createdAt?: string; progressUpdates?: Array<{ updatedAt: string; updatedBy: Record; oldValue: number; newValue: number; oldProgressPercent: number; newProgressPercent: number; oldStatus: number; newStatus: number; comment: string; }>; comments?: Array<{ userPrincipalName: string; displayName: string; oid: string; comment: string; createdAt: string; mentionedUsers?: Array>; attachments?: Array<{ createdBy: Record; createdAt: string; updatedAt: string; src: string; title: string; }>; }>; } export interface Goals { goals: Goal[]; total?: number; } export interface GoalUpdateProgressRequestBody { goalId: string; currentValue: number; comment?: string; } export interface GoalComment { goalId: string; comment: string; } export interface GoalCreateRequestBody { title: string; description?: string; goalType: string; startDate?: string; dueDate?: string; goalCreatorUPNorId: string; goalOwnerUPNorId?: string; isPrivate?: boolean; progressFormatType?: string; currencyCode?: string; initialValue?: number; targetValue?: number; parentGoalId?: string; sendNotificationToOwner?: boolean; labelIds?: string[]; } export interface Feedback { feedbackId: string; about?: { displayName: string; mail: string; }; status: string; submittedBy?: { displayName: string; }; createdAt?: string; submittedAt?: string; questions?: Array<{ question: string; answer?: string; additionalAnswer?: string; questionType: string; }>; } export interface FeedbackResponse { feedback: Feedback; } export interface FeedbackResponses { feedbacks: Feedback[]; total?: number; } export interface FeedbackRequestBody { aboutEmail: string; questions: Array<{ question: string; questionType: string; }>; dueDate?: string; } export interface FeedbackExternalRequestBody { aboutEmail: string; externalEmail: string; questions: Array<{ question: string; questionType: string; }>; dueDate?: string; } export interface Attachment { id: string; name: string; url: string; } export interface Comment { id: string; text: string; createdBy: string; createdAt: string; } export interface Recognition { id?: string; description: string; createdAt?: string; isPrivate?: boolean; badge?: { id?: string; title: string; description?: string; imageUrl?: string; bgImage?: string; updatedBy?: { oid: string; displayName: string; userPrincipalName: string; mail: string; }; }; recipients?: Array<{ mail: string; displayName: string; userPrincipalName: string; }>; comments?: Array<{ user: { businessPhones?: string[]; displayName: string; givenName?: string; jobTitle?: string; mail: string; officeLocation?: string; preferredLanguage?: string; surname?: string; userPrincipalName: string; id: string; }; comment: string; }>; likes?: Array>; } export interface RecognitionResponse { recognition: Recognition; } export interface RecognitionResponses { recognitions: Recognition[]; total?: number; } export interface RecognitionCreateResponse { recognitions: Recognition[]; } export interface RecognitionSearchRequestBody { recipientEmail?: string; badgeId?: string; startDate?: string; endDate?: string; isPrivate?: boolean; } export interface RecognitionCreateRequestBody { description: string; badgeId: string; recipientEmails: string[]; isPrivate?: boolean; } export interface Review { reviewId: string; reviewee?: { displayName: string; mail: string; }; reviewer?: { displayName: string; mail: string; }; status: string; reviewTemplate?: string; createdAt?: string; periodStartDate?: string; periodEndDate?: string; selfReviewSubmittedAt?: string; note?: string; createdBy?: { displayName: string; }; isDeleted?: boolean; assignedNineBox?: string; ratingResults?: Array<{ title: string; score: number; }>; } export interface ReviewResponse { review: Review; } export interface ReviewResponses { reviews: Review[]; total?: number; } export interface Task { id?: string; title: string; description: string; assignedTo?: Array<{ user: { userPrincipalName: string; displayName: string; }; individualComments?: Array>; }>; attachments?: Array>; labels?: Array>; descriptionAttachments?: Array>; descriptionText?: string; createdAt?: string; dueDate?: string; assignedBy?: { displayName: string; department?: string; jobTitle?: string; }; relatedGoal?: string; status?: string; } export interface Tasks { tasks: Task[]; total?: number; } export interface TaskSearchRequest { assignedToEmail?: string; status?: string; relatedGoal?: string; startDate?: string; endDate?: string; } export interface User { mail: string; displayName: string; jobTitle?: string; department?: string; officeLocation?: string; userPrincipalName?: string; role?: { id: string; name: string; }; isActive?: boolean; } export interface Users { users: User[]; total?: number; } export interface CreateUserRequestBody { users: Array<{ userPrincipalName: string; displayName: string; mail?: string; jobTitle?: string; department?: string; country?: string; officeLocation?: string; employeeHireDate?: string; birthday?: string; role?: number; contactMail?: string; employeeId?: string; employeeType?: string; }>; } export interface UpdateUserRequestBody { email: string; displayName?: string; jobTitle?: string; department?: string; officeLocation?: string; } export interface UserRole { id: string; name: string; description?: string; } export interface ChangeRoleRequestBody { email: string; roleId: string; } export interface AccessLog { id: string; userId: string; action: string; timestamp: string; ipAddress?: string; userAgent?: string; } export interface UserAttributeValue { attribute: string; value: string; } //# sourceMappingURL=types.d.ts.map