import type { SettingRepo } from '../../../repo/setting';
import type { TaskRepo } from '../../../repo/task';
import * as factory from '../../../factory';
import { Settings } from '../../../settings';
import { IExternalOrder, IProcessingOrder } from './onOrderProcessing/factory';
import { processOrder } from './onOrderProcessing/processOrder';
type IPlaceOrderTransaction = Pick<factory.transaction.placeOrder.ITransaction, 'id' | 'typeOf' | 'potentialActions'>;
declare function onOrderProcessing(params: {
    order: IProcessingOrder & {
        itemOfferedTypeOf: factory.order.IItemOffered['typeOf'];
        serialNumbers: string[];
        offeredThroughIdentifier?: factory.service.webAPI.Identifier;
    };
    placeOrderTransaction?: IPlaceOrderTransaction;
}): (repos: {
    setting: SettingRepo;
    task: TaskRepo;
}, settings: Settings) => Promise<void>;
export { IExternalOrder, onOrderProcessing, processOrder };
