import { z } from 'zod'; import type { FileStats, FileDiff } from '../../git/types'; export declare const achievementResponseSchema: z.ZodObject<{ title: z.ZodString; summary: z.ZodOptional; details: z.ZodOptional; eventStart: z.ZodOptional; eventEnd: z.ZodOptional>; eventDuration: z.ZodEnum<{ day: "day"; month: "month"; week: "week"; quarter: "quarter"; "half year": "half year"; year: "year"; }>; companyId: z.ZodNullable; projectId: z.ZodNullable; impact: z.ZodDefault; commitHash: z.ZodOptional; }, z.core.$strip>; export type LLMExtractedAchievement = z.infer; export type ExtractedAchievement = { title: string; summary?: string; details?: string; eventDuration: 'day' | 'week' | 'month' | 'quarter' | 'half year' | 'year'; eventStart: Date | null; eventEnd: Date | null; companyId: string | null; projectId: string | null; impact: number; impactSource: 'llm' | 'user'; impactUpdatedAt: Date; commitHash?: string; }; /** * Commit Achievement Extraction Types */ export interface Commit { hash: string; message: string; author: { name: string; email: string; }; date: string; prDetails?: { title: string; description: string; number: number; }; stats?: FileStats[]; diff?: FileDiff[]; diffTruncated?: boolean; } export interface Repository { name: string; path: string; remoteUrl?: string; } export interface Company { id: string; name: string; role?: string | null; startDate?: Date | string | null; endDate?: Date | string | null; } export interface Project { id: string; name: string; description?: string | null; status: string; companyId?: string | null; startDate: Date | string; endDate?: Date | string | null; repoRemoteUrl?: string | null; } export interface User { id: string; name?: string | null; email: string; preferences?: { documentInstructions?: string; } | null; } export type FetchExtractCommitAchievementsPromptProps = { user: User; commits: Commit[]; repository: Repository; }; export interface ExtractCommitAchievementsPromptProps { commits: Commit[]; repository: Repository; companies: Company[]; projects: Project[]; user: User; } //# sourceMappingURL=types.d.ts.map