import type { CredentialsRepo } from '../../../repo/credentials';
import type { IMinimizedIndividualEvent } from '../../../repo/event';
import type { PaymentServiceRepo } from '../../../repo/paymentService';
import type { PaymentServiceProviderRepo } from '../../../repo/paymentServiceProvider';
import * as factory from '../../../factory';
import { Settings } from '../../../settings';
interface ICheckResult {
    purchaseNumberAuthIn: factory.action.check.paymentMethod.movieTicket.IPurchaseNumberAuthIn;
    purchaseNumberAuthResult: factory.action.check.paymentMethod.movieTicket.IPurchaseNumberAuthResult;
}
type IEvent4checkByIdentifier = Pick<IMinimizedIndividualEvent<factory.eventType.ScreeningEvent>, 'id' | 'typeOf' | 'project' | 'coaInfo' | 'startDate'> & {
    offers: {
        offeredThrough?: factory.event.screeningEvent.IOfferedThrough | factory.event.screeningEvent.IOffer4COA['offeredThrough'];
    };
    superEvent: {
        workPerformed: {
            identifier: string;
        };
    };
};
interface ICheckByIdentifierParams {
    movieTickets: factory.action.check.paymentMethod.movieTicket.IMovieTicket[];
    seller: {
        id: string;
    };
    screeningEvent: IEvent4checkByIdentifier;
    paymentServiceId: string;
}
declare function processPurchaseNumberAuth(params: ICheckByIdentifierParams): (repos: {
    credentials: CredentialsRepo;
    paymentService: PaymentServiceRepo;
    paymentServiceProvider: PaymentServiceProviderRepo;
}, settings: Settings) => Promise<ICheckResult>;
export { ICheckByIdentifierParams, ICheckResult, processPurchaseNumberAuth };
