import { EventRepo } from '../../../repo/event';
import type { OfferRepo } from '../../../repo/offer/unitPriceInCatalog';
import type { OfferCatalogRepo } from '../../../repo/offerCatalog';
import { ScreeningRoomRepo } from '../../../repo/place/screeningRoom';
import type { ProductRepo } from '../../../repo/product';
import type { ProjectRepo } from '../../../repo/project';
import { OfferRateLimitRepo } from '../../../repo/rateLimit/offer';
import type { ReservationRepo } from '../../../repo/reservation';
import type { StockHolderRepo } from '../../../repo/stockHolder';
import type { TaskRepo } from '../../../repo/task';
export interface IAggregateScreeningEventRepos {
    event: EventRepo;
    stockHolder: StockHolderRepo;
    offer: OfferRepo;
    offerCatalog: OfferCatalogRepo;
    offerRateLimit: OfferRateLimitRepo;
    screeningRoom: ScreeningRoomRepo;
    product: ProductRepo;
    project: ProjectRepo;
    reservation: ReservationRepo;
    task: TaskRepo;
}
export type IAggregateScreeningEventOperation<T> = (repos: IAggregateScreeningEventRepos) => Promise<T>;
/**
 * イベントデータをID指定で集計する
 */
export declare function aggregateScreeningEvent(params: {
    id: string;
}): IAggregateScreeningEventOperation<void>;
