import { Model } from 'sequelize-typescript'; import { CUSTOMER_DATA_STORAGE_PERIOD, DateOrString, ICompany, ICompanyAmenity, ICompanyBankInformation, ICompanyBookingsSettings, ICompanyLegalInformation, ICompanyInvoicesInformation, IFile, IHoliday, IOWDiscountRule, IMarketplaceEnabledFeatures } from '../interfaces'; import { CompanyUser } from './CompanyUser.model'; import { Partner } from './Partner.model'; import { User } from './User.model'; export declare class Company extends Model { id: string; partnerId: string; parentCompanyId: string; mainUserId: string; name: string; isEnabled: string; subdomain: string; language: string; timezone: string; currency: string; email: string; address: any; checkinTime: { start: DateOrString; end: DateOrString; }; checkoutTime: { start: DateOrString; end: DateOrString; }; pricing: { [key: string]: number; }; amenities: ICompanyAmenity[]; data: any; google: any; smartPricing: any; integrations?: { channelManagerType: 'BNOVO' | 'CHANNEX'; bnovo?: { id: string; }; stripe?: { accountId: string; }; channex?: { id: string; isEnabled?: boolean; }; }; locationDescription: { title?: string; description?: string; }; themeData: { logo?: IFile | null; }; publicInformation: any; website: any; socials: any; images: IFile[]; phoneNumbers: string[]; holidays: IHoliday[]; owDiscountRules: IOWDiscountRule[]; bookings: ICompanyBookingsSettings[]; legalInformation: ICompanyLegalInformation; bankInformation: ICompanyBankInformation; invoices: ICompanyInvoicesInformation; npsScore: number; trialEndDate: Date; isPayingCustomer: boolean; includeFeesInFinalCostExternalBookings: boolean; customerDataStoragePeriod: CUSTOMER_DATA_STORAGE_PERIOD; createdAt: Date; updatedAt: Date; deletedAt: Date; nextInvoiceId: string; marketplaceEnabledFeatures: IMarketplaceEnabledFeatures; partner: Partner; childCompanies: Company[]; companyUsersRelation: CompanyUser; mainUser: User; }