import * as factory from '../../../../factory';
import type { AdvanceBookingRequirementRepo } from '../../../../repo/advanceBookingRequirement';
import type { IMinimizedIndividualEvent } from '../../../../repo/event';
import type { OfferRepo } from '../../../../repo/offer/unitPriceInCatalog';
import type { OfferCatalogRepo } from '../../../../repo/offerCatalog';
import type { PaymentServiceRepo } from '../../../../repo/paymentService';
import type { ProductRepo } from '../../../../repo/product';
import type { ProductOfferRepo } from '../../../../repo/productOffer';
type IObjectSubReservation = factory.assetTransaction.reserve.IObjectSubReservation;
declare function createSubReservations(params: {
    acceptedOffers: factory.assetTransaction.reserve.IAcceptedTicketOfferWithoutDetail[];
    ticketOffers: factory.product.ITicketOffer[];
    availableOffers: factory.unitPriceOffer.IUnitPriceOffer[];
    now: Date;
    event: IMinimizedIndividualEvent<factory.eventType.Event | factory.eventType.ScreeningEvent>;
    availableSeatOffers: factory.place.seat.IPlaceWithOffer[];
    reservationNumber: string;
    availableAtOrFrom?: {
        id?: string;
    };
    validateAppliesToMovieTicket: boolean;
}): (repos: {
    advanceBookingRequirement: AdvanceBookingRequirementRepo;
    offer: OfferRepo;
    offerCatalog: OfferCatalogRepo;
    paymentService: PaymentServiceRepo;
    product: ProductRepo;
    productOffer: ProductOfferRepo;
}) => Promise<IObjectSubReservation[]>;
export { createSubReservations };
