/**
 * @ai-summary Type definitions for ownership-costs feature
 */

export type OwnershipCostType = 'insurance' | 'registration' | 'tax' | 'inspection' | 'parking' | 'other';

export interface OwnershipCost {
  id: string;
  vehicleId: string;
  documentId?: string | null;
  costType: OwnershipCostType;
  amount: number;
  description?: string | null;
  periodStart?: string | null;
  periodEnd?: string | null;
  notes?: string | null;
  createdAt: string;
  updatedAt: string;
}

export interface CreateOwnershipCostRequest {
  vehicleId: string;
  documentId?: string;
  costType: OwnershipCostType;
  amount: number;
  description?: string;
  periodStart?: string;
  periodEnd?: string;
  notes?: string;
}

export interface UpdateOwnershipCostRequest {
  documentId?: string | null;
  costType?: OwnershipCostType;
  amount?: number;
  description?: string | null;
  periodStart?: string | null;
  periodEnd?: string | null;
  notes?: string | null;
}
