import type { InternalDate } from './InternalDate';
import type { InternalDateComponentRaw, InternalDateComponentsNumber, InternalDateComponentsRaw } from './types';
import { InternalDateComponentType } from './types';
export declare class InternalDateValidator {
    static checkForNull({ year, month, date }: InternalDateComponentsRaw, type?: InternalDateComponentType): boolean;
    static checkLimits({ year, month, date }: InternalDateComponentsNumber, type?: InternalDateComponentType): boolean;
    static compareWithNativeDate({ year, month, date }: InternalDateComponentsNumber): boolean;
    static checkRangeFully(date: number, startDate: number | null, endDate: number | null): boolean;
    static checkRangePiecemeal(type: InternalDateComponentType, { year, month, date }: InternalDateComponentsNumber, startComponents: InternalDateComponentsNumber | null, endComponents: InternalDateComponentsNumber | null): boolean;
    static testParseToNumber(value: InternalDateComponentRaw): value is NonNullable<typeof value>;
    static isEqualDateValues(a: InternalDate, b: InternalDate): boolean;
    static isEqualDateFormats(a: InternalDate, b: InternalDate): boolean;
}
