import type { OfferDraft, OfferEditableField, OfferStatus } from '../domain/offer'

export interface CreateOfferDraftInput {
  needId: string
  selectedPropertyIds: string[]
  subject: string
  message: string
  editableFields: OfferEditableField[]
}

export interface IOfferProvider {
  create(input: CreateOfferDraftInput): Promise<OfferDraft>
  getById(id: string): Promise<OfferDraft | null>
  updateField(id: string, fieldId: string, value: string): Promise<OfferDraft>
  updateStatus(id: string, status: OfferStatus): Promise<OfferDraft>
  setPdfUrl(id: string, pdfUrl: string): Promise<OfferDraft>
}
