// PRD-002 — shared types for products feature

export interface ProductListItem {
  id: number
  nombre: string
  medioId: number
  productTypeId: number
  rubroId: number | null
  basePrice: number
  priceDurationDays: number | null
  isActive: boolean
}

export interface ProductDetail {
  id: number
  nombre: string
  medioId: number
  productTypeId: number
  rubroId: number | null
  basePrice: number
  priceDurationDays: number | null
  isActive: boolean
  fechaCreacion: string
  fechaModificacion: string | null
}

export interface CreateProductRequest {
  nombre: string
  medioId: number
  productTypeId: number
  rubroId?: number | null
  basePrice: number
  priceDurationDays?: number | null
}

export interface UpdateProductRequest {
  nombre: string
  rubroId?: number | null
  basePrice: number
  priceDurationDays?: number | null
}

export interface PagedResult<T> {
  items: T[]
  page: number
  pageSize: number
  total: number
}

export interface ListProductsParams {
  page?: number
  pageSize?: number
  activo?: boolean | null
  search?: string
  medioId?: number
  productTypeId?: number
  rubroId?: number
}
