import { ExpenseLineInput, FunctionalClass } from './expense.model';

export interface ExpenseSnapshotLineDto {
  categoryGroupId: number; categoryGroupName: string;
  subCategoryId: number; subCategoryName: string;
  functionalClass: FunctionalClass | null; amount: number; description: string | null;
}

export interface ExpenseSnapshotDto {
  id: number; name: string; ministryId: number; ministryName: string;
  description: string; vendorName: string | null; checkNumber: string | null; notes: string | null;
  totalAmount: number; lineCount: number;
  createdByName: string | null; createdAt: string;
  lines: ExpenseSnapshotLineDto[];
}

export interface CreateExpenseSnapshotRequest {
  name: string; ministryId: number; lines: ExpenseLineInput[];
  description: string; vendorName: string | null; checkNumber: string | null; notes: string | null;
}
export type UpdateExpenseSnapshotRequest = CreateExpenseSnapshotRequest;
