import { DataSource } from 'typeorm';
import { WorkflowStage } from 'src/common/entities';
import { WorkflowConfigurationService } from './workflow-configuration.service';
import { WorkflowVariableService } from './workflow-variable.service';
import { AppLoggerService } from 'src/common/services/logger.service';
export declare class WorkflowValidationService {
    private readonly dataSource;
    private readonly workflowConfigurationService;
    private readonly workflowVariableService;
    private readonly logger;
    constructor(dataSource: DataSource, workflowConfigurationService: WorkflowConfigurationService, workflowVariableService: WorkflowVariableService, logger: AppLoggerService);
    getWorkflowDataForRegistration(registrationId: number, workflowId?: number): Promise<Record<string, unknown>>;
    getWorkflowDataForMultipleRegistrations(registrationIds: number[], workflowId: number): Promise<Map<number, Record<string, unknown>>>;
    validateStageTransition(registrationId: number, workflowId: number, targetStage: WorkflowStage, completedStages: string[]): Promise<Record<string, unknown>>;
    validateStageCompletion(targetStage: WorkflowStage, completedStages: string[], workflowData: Record<string, unknown>): void;
    private evaluateCondition;
    private evaluateNestedCondition;
    validateStagePrerequisites(stage: WorkflowStage, userRoles: string[], registrationId?: number, workflowId?: number): Promise<void>;
}
