/**
 * マスターデータ同期サービス
 */
import type * as COA from '@motionpicture/coa-service';
import type { ActionRepo } from '../repo/action';
import type { CategoryCodeRepo } from '../repo/categoryCode';
import type { CreativeWorkRepo } from '../repo/creativeWork';
import type { EventRepo } from '../repo/event';
import type { EventSeriesRepo } from '../repo/eventSeries';
import type { MovieTheaterRepo } from '../repo/place/movieTheater';
import type { ScreeningRoomRepo } from '../repo/place/screeningRoom';
import type { ProjectRepo } from '../repo/project';
import type { SellerRepo } from '../repo/seller';
import type { SettingRepo } from '../repo/setting';
import type { TaskRepo } from '../repo/task';
import * as factory from '../factory';
interface IImportFromCOAParams {
    project: {
        id: string;
        typeOf: factory.organizationType.Project;
    };
    /**
     * 施設コード
     */
    locationBranchCode: string;
    importFrom: Date;
    importThrough: Date;
    /**
     * 施設を保管するかどうか
     */
    saveMovieTheater: boolean;
    /**
     * 施設コンテンツを保管するかどうか
     */
    saveScreeningEventSeries: boolean;
    saveScreeningEventSeriesPeriodInMonth: number;
}
/**
 * イベントをインポートする
 */
export declare function importFromCOA(params: IImportFromCOAParams): (repos: {
    action: ActionRepo;
    categoryCode: CategoryCodeRepo;
    creativeWork: CreativeWorkRepo;
    event: EventRepo;
    eventSeries: EventSeriesRepo;
    movieTheater: MovieTheaterRepo;
    screeningRoom: ScreeningRoomRepo;
    seller: SellerRepo;
    masterService: COA.service.Master;
}) => Promise<void>;
export declare function minimizeSuperEvent(params: {
    superEvent: factory.event.screeningEventSeries.IEvent;
}): factory.event.screeningEvent.ISuperEvent;
/**
 * COA情報からイベントIDを作成する
 */
export declare function createScreeningEventIdFromCOA(params: {
    theaterCode: string;
    titleCode: string;
    titleBranchNum: string;
    dateJouei: string;
    screenCode: string;
    timeBegin: string;
}): string;
export declare function updateEvent4ttts(params: {
    /**
     * 旧イベントID
     */
    oldEventId: string;
    /**
     * イベント属性
     */
    attributes: factory.event.IAttributes<factory.eventType.ScreeningEvent>;
    project: {
        id: string;
    };
    /**
     * 更新者
     */
    agent: factory.action.IParticipant;
}): (repos: {
    action: ActionRepo;
    event: EventRepo;
    eventSeries: EventSeriesRepo;
    project: ProjectRepo;
    setting: SettingRepo;
    task: TaskRepo;
}) => Promise<void>;
export {};
