import type { AutoCompletePropType, InputDateProps, InputDateWatches, InputTypeOnDefault, Iso8601, NumberString, ReadOnlyPropType, RequiredPropType, SuggestionsPropType } from '../../schema';
import { type InputDateTypePropType } from '../../schema/props/type-input-date';
import { InputIconController } from '../@deprecated/input/controller-icon';
import type { Generic } from 'adopted-style-sheets';
export declare class InputDateController extends InputIconController implements InputDateWatches {
    private static readonly isoDateRegex;
    private static readonly isoLocalDateTimeRegex;
    private static readonly isoMonthRegex;
    private static readonly isoTimeRegex;
    private static readonly isoWeekRegex;
    protected readonly component: Generic.Element.Component & InputDateProps;
    constructor(component: Generic.Element.Component & InputDateProps, name: string, host?: HTMLElement);
    validateAutoComplete(value?: AutoCompletePropType): void;
    validateSuggestions(value?: SuggestionsPropType): void;
    static tryParseToString(value: Iso8601 | Date | null | undefined, type?: InputDateTypePropType, step?: string | number): string | null | undefined;
    static getWeekNumberOfDate(date: Date): string;
    private validateDateString;
    private readonly validateIso8601;
    protected onBlur(event: Event): void;
    validateMax(value?: Iso8601 | Date): void;
    validateMin(value?: Iso8601 | Date): void;
    validateOn(value?: InputTypeOnDefault): void;
    validateReadOnly(value?: ReadOnlyPropType): void;
    validateRequired(value?: RequiredPropType): void;
    validateStep(value?: number | NumberString): void;
    validateType(value?: InputDateTypePropType): void;
    validateValue(value?: Iso8601 | Date | null): void;
    validateValueEx(value?: Iso8601 | Date | null, afterPatch?: (v: string) => void): void;
    componentWillLoad(): void;
}
