import type * as COA from '@motionpicture/coa-service';
import type { ActionRepo } from '../../../repo/action';
import type { EventRepo } from '../../../repo/event';
import type { OrderNumberRepo } from '../../../repo/orderNumber';
import type { ProjectRepo } from '../../../repo/project';
import type { TransactionRepo } from '../../../repo/transaction';
import * as factory from '../../../factory';
interface IAcceptRepos {
    action: ActionRepo;
    event: EventRepo;
    orderNumber: OrderNumberRepo;
    project: ProjectRepo;
    transaction: TransactionRepo;
    reserveService: COA.service.Reserve;
    masterService: COA.service.Master;
}
type IAccepteOfferParams = Pick<factory.task.acceptCOAOffer.IData, 'object' | 'potentialActions' | 'purpose' | 'agent'> & {
    sameAs: {
        id: string;
    };
    isMember: boolean;
};
/**
 * COA興行オファー採用
 */
declare function acceptOffer(params: IAccepteOfferParams): (repos: IAcceptRepos) => Promise<void>;
/**
 * COA興行オファー採用変更
 */
declare function reAcceptOffer(params: IAccepteOfferParams & {
    potentialActions: factory.task.acceptCOAOffer.IData['potentialActions'] & {
        /**
         * 元の承認アクションID
         */
        id: string;
    };
}): (repos: IAcceptRepos) => Promise<void>;
export { acceptOffer, reAcceptOffer };
