import { ValidationOptions, ValidatorConstraintInterface, ValidationArguments } from 'class-validator';
import { EncounterType } from '../enums/EncounterType.js';
import { ExaminerOfficerType } from '../enums/ExaminerOfficerType.js';

interface MandatoryFieldOptions {
    level?: EncounterType;
    allowEmpty?: boolean;
    roles?: ExaminerOfficerType[];
    exceptions?: EncounterType[];
}
declare class MandatoryFieldConstraint implements ValidatorConstraintInterface {
    validate(value: any, args: ValidationArguments): boolean;
}
declare function MandatoryField(options: MandatoryFieldOptions, validationOptions?: ValidationOptions): (object: Object, propertyName: string) => void;

export { MandatoryField, MandatoryFieldConstraint };
