type Admin = {
  _id?: string;
  firstName?: string;
  lastName?: string;
  isEmailVerified?: boolean;
  phone?: {
    dialCode?: number;
    number?: number;
  };
};

export type Company = {
    planValidity: any
    id: string
    name: string
    city: {id?: string, name?: string}
    state: {id?: string, name?: string}
    adminName: string
    adminPhone: string
    companyType: string
    users: string
    validity: string
    planStatus: string
    userType?: string
    maxUserCount?: string
    admin: Admin[];
    createdAt?: string | Date;
    status?: string;
    userCount?: string;
  }

  export type Company = {
    id: string;
    name: string;
    gstNumber?: string;
    address?: string;
    city: {id?: string, name?: string}
    state: {id?: string, name?: string}
    country?:string
    pincode?: number;
    websiteUrl?: string;
    logo?: string;
    color?: string;
    companyType: string;
    maxUserCount?: number;
    price?: number;
    discount?: number;
    tax?: number;
    finalPrice?: number;
    planValidity?: {
      validfor: number;
      validUnit: "days" | "months" | "years";
    };
    planStatus?: string;
    admin: Admin[];
  
    // optional extra fields used in list table views
    users?: string;
    validity?: string;
    adminName?: string;
    adminPhone?: string;
    userType?: string;
  };

  export interface Invoice {
    id: string;
    invoiceNumber: string;
    clientName: string;
    clientEmail: string;
    issuedDate: Date;
    dueDate: Date;
    amount: number;
    status: string;
    downloadUrl: string;
  }