import { D as ReservationData, e as BookingAdjustment, j as BookingOrderRequestData } from './shared/ocd-studio-core-sdk.ShBMfdE2.js';
import 'vue';
import '@internationalized/date';
import 'firebase-admin/firestore';
import 'firebase-functions/v2/firestore';

type DraftMetadata = Record<string, any>;
type DraftOrder = {
    reservations: DraftReservation[];
    adjustments: BookingAdjustment[];
    metadata: DraftMetadata;
    customerInfo: BookingOrderRequestData['customerInfo'];
    paymentType: BookingOrderRequestData['paymentType'];
};
type DraftReservation = Omit<ReservationData, 'adjustments' | 'metadata'> & {
    adjustments: BookingAdjustment[];
    metadata: DraftMetadata;
};
type DraftTarget = DraftOrder | DraftReservation;
type CalculatedReservation = DraftReservation & {
    finalPrice: number;
};
type CalculatedOrder = DraftOrder & {
    reservations: CalculatedReservation[];
    total: number;
};
declare function createDraftOrder(input: BookingOrderRequestData): DraftOrder;
declare function addFixed(target: DraftTarget, amount: number, label: string): void;
declare function addPercent(target: DraftTarget, percent: number, label: string): void;
declare function calculateTotals(order: DraftOrder): CalculatedOrder;

export { addFixed, addPercent, calculateTotals, createDraftOrder };
export type { CalculatedOrder, CalculatedReservation, DraftMetadata, DraftOrder, DraftReservation };
