import { EntityManager } from 'typeorm';
import { Program } from '../entities';
import { RegistrationStatusEnum } from '../enum/registration-status.enum';
import { AppLoggerService } from './logger.service';
export declare class RegistrationSequenceService {
    private readonly logger;
    constructor(logger: AppLoggerService);
    getNextRegistrationSeqNumber(programId: number, sessionId: number | undefined, manager: EntityManager): Promise<number>;
    getNextWaitlistSeqNumber(programId: number, sessionId: number | undefined, manager: EntityManager): Promise<number>;
    generateFormattedSeqNumber(program: Program, numericSeq: number, isWaitlist?: boolean): string;
    shouldCheckSeatsNow(program: Program): boolean;
    canCompleteRegistration(registrationId: number, program: Program, manager: EntityManager): Promise<boolean>;
    updateToCompletedIfReady(registrationId: number, program: Program, manager: EntityManager): Promise<boolean>;
    updateRegistrationStatus(registrationId: number, newStatus: RegistrationStatusEnum, manager: EntityManager, reason?: string): Promise<void>;
}
