import { FnConfig, TypeValidator } from "./base";
import { KeysOfType } from "../utils";
export declare class DateTimes<T extends Date | undefined = Date> extends TypeValidator<T> {
    undefined(): DateTimes<T | undefined>;
    required(options?: FnConfig): DateTimes<T>;
    equals(dateTime: Date, options?: FnConfig): DateTimes<T>;
    after(dateTime: Date, options?: FnConfig): DateTimes<T>;
    before(dateTime: Date, options?: FnConfig): DateTimes<T>;
    between(start: Date, end: Date, options?: FnConfig): DateTimes<T>;
    todayOrAfter(options?: FnConfig): DateTimes<T>;
    todayOrBefore(options?: FnConfig): DateTimes<T>;
    past(options?: FnConfig): DateTimes<T>;
    future(options?: FnConfig): DateTimes<T>;
    weekday(options?: FnConfig): DateTimes<T>;
    weekend(options?: FnConfig): DateTimes<T>;
    as<TO extends Record<string, any>>(key: KeysOfType<TO, Date>, options?: FnConfig): this;
}
