import { ObjectID } from 'bson'; import mongoose from 'mongoose'; import { ModerationStatus, Privacy } from '../constants'; import { IInstruction } from './instructions'; import { ILinks } from './links'; import { ILocalizedText } from './localized-text'; import { IMediaServiceGroup } from './media-servicegroup'; import { IRating } from './rating'; import { IServiceGroupCapacity } from './service-group-capacity'; import { IServiceGroupParent } from './service-group-parent'; import { IServiceLocation } from './serviceLocation'; import { IServiceOrganization } from './serviceOrganization'; import { ITopLocation } from './top-location'; import { ITripPricingElement } from './trip-pricing'; import { ITripTransport } from './trip-transport'; export interface IServiceGroup { _id: ObjectID; owner: ObjectID; parents: IServiceGroupParent[]; privacy: Privacy; status: string; moderationStatus: ModerationStatus; totalPrice: number; totalPricePerDay: number; bookablePrice: number; pricing: ITripPricingElement[]; description?: ILocalizedText; duration: number; location?: IServiceLocation; userStartLocation?: IServiceLocation; userEndLocation?: IServiceLocation; services: IServiceOrganization[]; transports: ITripTransport[]; subtitle?: ILocalizedText; title: ILocalizedText; links?: ILinks; capacity?: IServiceGroupCapacity; instructions?: IInstruction; media: IMediaServiceGroup[]; notes: any; ratings?: IRating; reviewCount: number; tags: ObjectID[]; bookingStatus?: string; paymentTransactions?: ObjectID[]; startDate?: Date; adultCount?: number; childrenCount?: number; infantCount?: number; forkedBookingsCount: number; hearts: number; fastBookable: boolean; topLocations: ITopLocation[]; otherAttributes: any; hidePricesFromOthers: true; updatedAt: Date; createdAt: Date; deletedAt?: Date | null; publishedAt?: Date | null; } export interface IServiceGroupDocument extends mongoose.Document, IServiceGroup { _id: ObjectID; pricing: mongoose.Types.Array; services: mongoose.Types.Array; media: mongoose.Types.Array; } declare const serviceGroup: any; export default serviceGroup; export declare const localizedFields: readonly ["title", "description", "subtitle"]; export declare type ILocalizedFields = typeof localizedFields[number]; export declare type IServiceGroupSingleLang = Omit & { [key in ILocalizedFields]?: string; }; //# sourceMappingURL=serviceGroup.d.ts.map