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

export interface IAmenities extends Document  {
  name: string;
  icon: string;
  description?: string;
  createdBy?: Types.ObjectId;
  updatedBy?: Types.ObjectId;
  createdAt?: Date;
  updatedAt?: Date;
}

export type IAmenitiesModel = IPaginateModel<IAmenities>

export interface ITag extends Document  {
    name: string;
    createdBy?: Types.ObjectId;
    updatedBy?: Types.ObjectId;
    createdAt?: Date;
    updatedAt?: Date;
}

export type ITagModel = IPaginateModel<ITag>

export interface ISource extends Document  {
    name: string;
    createdBy?: Types.ObjectId;
    updatedBy?: Types.ObjectId;
    createdAt?: Date;
    updatedAt?: Date;
    company?: Types.ObjectId;
    isDefault: boolean;
}

export type ISourceModel = IPaginateModel<ISource>

export interface IConstructionFilter {
  search?: string;
  categoryId?: Types.ObjectId | string;
  subCategoryId?: Types.ObjectId | string;
}