import type { Need, CreateNeedInput, UpdateNeedInput } from '../domain/need'
import type { AssetType } from '../domain/enums'

export interface NeedFilters {
  assetType?: AssetType
  organizationId?: string
  companyName?: string
}

export interface INeedProvider {
  getAll(filters?: NeedFilters): Promise<Need[]>
  getById(id: string): Promise<Need | null>
  create(data: CreateNeedInput): Promise<Need>
  update(id: string, data: UpdateNeedInput): Promise<Need>
  remove(id: string): Promise<void>
}
