import type { Connection } from 'mongoose';
import * as factory from '../factory';
type IAggregateMakesOfferResult = Pick<factory.event.screeningEvent.ISellerMakesOffer, 'availabilityEnds' | 'availabilityStarts' | 'validFrom' | 'validThrough'> & {
    itemOffered: {
        serviceOutput: {
            reservationFor: {
                /**
                 * イベントID
                 */
                id: string;
            };
        };
    };
};
/**
 * イベントの販売者makesOfferリポジトリ
 */
export declare class EventSellerMakesOfferRepo {
    private readonly eventModel;
    constructor(connection: Connection);
    /**
     * 指定クライアントのオファーを集計する(2024-10-09~)
     */
    aggregateMakesOffer(conditions: {
        limit?: number;
        page?: number;
        project: {
            id: {
                $eq: string;
            };
        };
        /**
         * アプリケーション(指定必須)
         */
        availableAtOrFrom: {
            id: {
                $eq: string;
            };
        };
        itemOffered: {
            serviceOutput: {
                reservationFor: {
                    /**
                     * イベントID
                     */
                    id: {
                        $in?: string[];
                    };
                };
            };
        };
    }): Promise<IAggregateMakesOfferResult[]>;
}
export {};
