import { type ValidationArguments, type ValidatorConstraintInterface } from 'class-validator'; import { PlainDate } from '../plain-date/plain-date.js'; export interface IsDateRangeValidationOptions { startsBefore?: () => PlainDate; startsAfter?: () => PlainDate; startsAfterOrOn?: () => PlainDate; startsBeforeOrOn?: () => PlainDate; endsBefore?: () => PlainDate; endsBeforeOrOn?: () => PlainDate; endsAfter?: () => PlainDate; endsAfterOrOn?: () => PlainDate; /** If set to true the date range dto cannot contain an infinite boundary, default false */ finiteOnly?: boolean; each?: boolean; } export declare function IsDateRange(options?: IsDateRangeValidationOptions): PropertyDecorator; export declare class IsDateRangeValidator implements ValidatorConstraintInterface { private startsBefore?; private startsAfter?; private startsAfterOrOn?; private startsBeforeOrOn?; private endsBefore?; private endsBeforeOrOn?; private endsAfter?; private endsAfterOrOn?; private finiteOnly; constructor(options?: IsDateRangeValidationOptions); validate(dateRange: unknown, _args: ValidationArguments): boolean; defaultMessage(args: ValidationArguments): string; }