import type { HabitCheckResult, HabitDetail, HabitFilter, HabitId, HabitStreak, HabitSummary, HabitSummaryWithStreak } from "../domain/habit"; import type { NoteSummary } from "../domain/note"; export interface CreateHabitInput { title: string; projectId: string; schedule: string; timezone: string; startDate: string; description?: string | null; endDate?: string | null; } export interface UpdateHabitInput { habitId: HabitId; title?: string; schedule?: string; timezone?: string; description?: string | null; endDate?: string | null; } export interface DeleteHabitResult { habitId: HabitId; deleted: true; } export interface AddHabitNoteInput { habitId: HabitId; content: string; } export interface HabitService { listHabits(filter?: HabitFilter): Promise; listHabitsWithStreaks(filter?: HabitFilter): Promise; getHabitStreak(habitId: HabitId): Promise; getHabit(habitId: HabitId): Promise; createHabit(input: CreateHabitInput): Promise; updateHabit(input: UpdateHabitInput): Promise; checkHabit(habitId: HabitId): Promise; deleteHabit(habitId: HabitId): Promise; addHabitNote(input: AddHabitNoteInput): Promise; }