import type { InputDateProps, InputDateType, InputDateWatches, InputTypeOnDefault, InputTypeOnOff, Iso8601, ReadOnlyPropType, SuggestionsPropType } from '../../schema';
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;
    private static readonly DEFAULT_MAX_DATE;
    protected readonly component: Generic.Element.Component & InputDateProps;
    constructor(component: Generic.Element.Component & InputDateProps, name: string, host?: HTMLElement);
    validateAutoComplete(value?: InputTypeOnOff): void;
    validateSuggestions(value?: SuggestionsPropType): void;
    static tryParseToString(value: Iso8601 | Date | null | undefined, type?: InputDateType, 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?: boolean): void;
    validateStep(value?: number): void;
    validateType(value?: InputDateType): void;
    validateValue(value?: Iso8601 | Date | null): void;
    validateValueEx(value?: Iso8601 | Date | null, afterPatch?: (v: string) => void): void;
    componentWillLoad(): void;
}
