import * as factory from '../../factory';
import type { ActionRepo } from '../../repo/action';
import type { AssetTransactionRepo } from '../../repo/assetTransaction';
import type { AuthorizationRepo } from '../../repo/authorization';
import type { OrderRepo } from '../../repo/order';
import type { ReservationRepo } from '../../repo/reservation';
import type { SettingRepo } from '../../repo/setting';
import type { TaskRepo } from '../../repo/task';
/**
 * 予約使用
 */
export declare function useReservation(params: {
    project: {
        id: string;
    };
    agent: factory.action.consume.use.reservation.IAgent;
    object: {
        /**
         * 予約ID
         */
        id: string;
    };
    instrument?: Pick<factory.action.consume.use.reservation.ITicketAsInstrument, 'ticketToken'> | factory.action.consume.use.reservation.IInstrument[];
    location?: {
        identifier?: string;
    };
}): (repos: {
    action: ActionRepo;
    assetTransaction: AssetTransactionRepo;
    code: AuthorizationRepo;
    order: OrderRepo;
    reservation: ReservationRepo;
    setting: SettingRepo;
    task: TaskRepo;
}) => Promise<void>;
