import { Document, Types } from 'mongoose';
import { IPaginateModel } from '@/shared/interfaces/model.interface';
import { AuditFields } from '@/shared/types/common';

export interface IQuotationBase {
  companyId: Types.ObjectId;
  project: Types.ObjectId;
  termsConditions: string;
}

export interface IQuotation extends IQuotationBase, AuditFields {}

export interface IQuotationDoc extends IQuotation, Document {}

export interface IQuotationModel extends IPaginateModel<IQuotationDoc> {}

export type NewCreatedQuotation = IQuotationBase &
  Partial<Pick<AuditFields, 'createdBy' | 'updatedBy'>>;

export type UpdateQuotationBody = Partial<IQuotation>;
