import type { PostgresJsDatabase } from "drizzle-orm/postgres-js"; import type { Cruise, CruiseSailing, CruiseVoyageGroup, CruiseVoyageGroupSegment } from "./schema-core.js"; import type { CruiseDay } from "./schema-itinerary.js"; import { type CruiseMutationRuntime } from "./service-shared.js"; import type { CruiseListQuery, InsertCruise, InsertVoyageGroup, InsertVoyageGroupSegment, UpdateCruise, UpdateVoyageGroup, UpdateVoyageGroupSegment, VoyageGroupListQuery, VoyageGroupSegmentListQuery } from "./validation-core.js"; export declare const cruiseCoreService: { listVoyageGroups(db: PostgresJsDatabase, query: VoyageGroupListQuery): Promise | null; createdAt: Date; updatedAt: Date; }>>; getVoyageGroupById(db: PostgresJsDatabase, id: string, options?: { withSegments?: boolean; }): Promise<(CruiseVoyageGroup & { segments?: CruiseVoyageGroupSegment[]; }) | null>; createVoyageGroup(db: PostgresJsDatabase, data: InsertVoyageGroup): Promise; updateVoyageGroup(db: PostgresJsDatabase, id: string, data: UpdateVoyageGroup): Promise; archiveVoyageGroup(db: PostgresJsDatabase, id: string): Promise; listVoyageGroupSegments(db: PostgresJsDatabase, query: VoyageGroupSegmentListQuery): Promise | null; metadata: Record | null; createdAt: Date; updatedAt: Date; }>>; createVoyageGroupSegment(db: PostgresJsDatabase, data: InsertVoyageGroupSegment): Promise; updateVoyageGroupSegment(db: PostgresJsDatabase, id: string, data: UpdateVoyageGroupSegment): Promise; deleteVoyageGroupSegment(db: PostgresJsDatabase, id: string): Promise; listCruises(db: PostgresJsDatabase, query: CruiseListQuery): Promise | null; customerPaymentPolicy: unknown; createdAt: Date; updatedAt: Date; }>>; getCruiseById(db: PostgresJsDatabase, id: string, options?: { withSailings?: boolean; withDays?: boolean; }): Promise<(Cruise & { sailings?: CruiseSailing[]; days?: CruiseDay[]; }) | null>; createCruise(db: PostgresJsDatabase, data: InsertCruise, runtime?: CruiseMutationRuntime): Promise; updateCruise(db: PostgresJsDatabase, id: string, data: UpdateCruise, runtime?: CruiseMutationRuntime): Promise; archiveCruise(db: PostgresJsDatabase, id: string, runtime?: CruiseMutationRuntime): Promise; recomputeCruiseAggregates(db: PostgresJsDatabase, cruiseId: string): Promise; };