import * as factory from '../factory';
export type IPassportValidator = (params: {
    passport: factory.waiter.passport.IPassport;
}) => boolean;
export declare namespace moneyTransfer {
    type IStartParams = factory.transaction.moneyTransfer.IStartParamsWithoutDetail & {};
}
export declare namespace placeOrder {
    type IStartParams = factory.transaction.placeOrder.IStartParamsWithoutDetail & {
        broker?: factory.order.IBroker;
    };
    type IOrderURLGenerator = (order: factory.transaction.placeOrder.IOrderAsResult) => string;
    type IResultOrderParams = factory.transaction.placeOrder.IResultOrderParams & {
        /**
         * 注文日時
         */
        orderDate: Date;
        /**
         * 確認番号のカスタム指定
         */
        /**
         * 注文確認URLのカスタム指定
         */
        url?: string | IOrderURLGenerator;
        /**
         * オファー制約
         */
        numItems: {
            maxValue: number;
            minValue: number;
            /**
             * 最大COA予約数
             */
            maxNumCOAReservationNumbers: number;
        };
        /**
         * 注文アイテム制約
         */
        orderedItem: {
            maxValue: number;
        };
    };
    type IConfirmParams = factory.transaction.placeOrder.IConfirmParams & {
        project: {
            id: string;
        };
        result: {
            order: IResultOrderParams;
        };
    };
}
