import { type ValidationArguments, type ValidatorConstraintInterface } from 'class-validator'; import { Timestamp } from '../timestamp/timestamp.js'; export interface IsDateTimeRangeValidationOptions { startsAfter?: () => Timestamp; startsAfterOrAt?: () => Timestamp; startsBefore?: () => Timestamp; startsBeforeOrAt?: () => Timestamp; endsBefore?: () => Timestamp; endsBeforeOrAt?: () => Timestamp; endsAfter?: () => Timestamp; endsAfterOrAt?: () => Timestamp; /** If set to true the date time range dto cannot contain an infinite boundary, default false */ finiteOnly?: boolean; each?: boolean; } export declare function IsDateTimeRange(options?: IsDateTimeRangeValidationOptions): PropertyDecorator; export declare class IsDateTimeRangeValidator implements ValidatorConstraintInterface { private startsAfter?; private startsAfterOrAt?; private startsBefore?; private startsBeforeOrAt?; private endsBefore?; private endsBeforeOrAt?; private endsAfter?; private endsAfterOrAt?; private finiteOnly; constructor(options?: IsDateTimeRangeValidationOptions); validate(dateRange: unknown, _args: ValidationArguments): boolean; defaultMessage(args: ValidationArguments): string; }