declare const LionInputDatepicker_base: typeof LionInputDate & import("@open-wc/dedupe-mixin").Constructor<import("../../localize/types/LocalizeMixinTypes.js").LocalizeMixinHost> & Pick<typeof import("../../localize/types/LocalizeMixinTypes.js").LocalizeMixinHost, "prototype" | "localizeNamespaces" | "waitForLocalizeNamespaces"> & Pick<typeof import("lit").LitElement, typeof Symbol.metadata | "prototype" | "_$litElement$" | "enabledWarnings" | "enableWarning" | "disableWarning" | "addInitializer" | "_initializers" | "elementProperties" | "properties" | "elementStyles" | "styles" | "observedAttributes" | "createProperty" | "getPropertyOptions" | "shadowRootOptions"> & import("@open-wc/dedupe-mixin").Constructor<import("../../overlays/types/OverlayMixinTypes.js").OverlayHost> & Pick<typeof import("../../overlays/types/OverlayMixinTypes.js").OverlayHost, "prototype"> & import("@open-wc/dedupe-mixin").Constructor<import("../../overlays/types/ArrowMixinTypes.js").ArrowHost> & Pick<typeof import("../../overlays/types/ArrowMixinTypes.js").ArrowHost, "prototype" | "properties" | "styles"> & import("@open-wc/dedupe-mixin").Constructor<import("@open-wc/scoped-elements/lit-element.js").ScopedElementsHost> & import("../../core/src/types.js").ScopedElementsHostV2Constructor;
/**
 * @typedef {import('../../form-core/src/validate/Validator.js').Validator} Validator
 * @typedef {import('lit').RenderOptions} RenderOptions
 */
/**
 * @customElement lion-input-datepicker
 */
export class LionInputDatepicker extends LionInputDatepicker_base {
    static get scopedElements(): {
        'lion-calendar': typeof LionCalendar;
    };
    static get styles(): (import("lit").CSSResultOrNative | import("lit").CSSResultArray)[];
    /** @type {any} */
    static get properties(): any;
    /**
     * The LionCalendar shouldn't know anything about the modelValue;
     * it can't handle Unparseable dates, but does handle 'undefined'
     * @param {?} modelValue
     * @returns {Date | undefined} a 'guarded' modelValue
     */
    static __getSyncDownValue(modelValue: unknown): Date | undefined;
    /**
     * @protected
     */
    protected get _invokerNode(): HTMLElement;
    /**
     * @type {LionCalendar}
     * @protected
     */
    protected get _calendarNode(): LionCalendar;
    /** @private */
    private __invokerId;
    /** @protected */
    protected _calendarInvokerSlot: string;
    /** @protected */
    protected _focusCentralDateOnCalendarOpen: boolean;
    /** @protected */
    protected _hideOnUserSelect: boolean;
    /** @protected */
    protected _syncOnUserSelect: boolean;
    /** @protected */
    protected _isHandlingCalendarUserInput: boolean;
    __openCalendarOverlay(): Promise<void>;
    /**
     * Triggered when a user selects a date from the calendar overlay
     * @param {{ target: { selectedDate: Date }}} opts
     */
    _onCalendarUserSelectedChanged({ target: { selectedDate } }: {
        target: {
            selectedDate: Date;
        };
    }): void;
    /** @private */
    private __toggleInvokerDisabled;
    calendarHeading: any;
    /**
     * Defining this overlay as a templates from OverlayMixin
     * this is our source to give as .contentNode to OverlayController.
     * Important: do not change the name of this method.
     * @protected
     */
    protected _overlayTemplate(): import("lit-html").TemplateResult<1>;
    _overlayFrameTemplate(): import("lit-html").TemplateResult<1>;
    render(): import("lit-html").TemplateResult<1>;
    /**
     * Subclassers can replace this with their custom extension of
     * LionCalendar, like `<my-calendar id="calendar"></my-calendar>`
     */
    _calendarTemplate(): import("lit-html").TemplateResult<1>;
    /**
     * Subclassers can replace this with their custom extension invoker,
     * like `<my-button><calendar-icon></calendar-icon></my-button>`
     */
    _invokerTemplate(): import("lit-html").TemplateResult<1>;
    /**
     * Subclassers can replace this with their custom extension invoker icon
     */
    _invokerIconTemplate(): import("lit-html").TemplateResult<1>;
    __datepickerBeforeShow: (() => void) | undefined;
    /**
     * @override Configures OverlayMixin
     * @desc overrides default configuration options for this component
     * @returns {Object}
     */
    override _defineOverlayConfig(): Object;
    /**
     * Lifecycle callback for subclassers
     * @overridable
     */
    _onCalendarOverlayOpened(): void;
    /**
     * Validators contain the information to synchronize the input with
     * the min, max and enabled dates of the calendar.
     * @param {Validator[]} validators - errorValidators or warningValidators array
     */
    __syncDisabledDates(validators: Validator[]): void;
    __calendarMinDate: any;
    __calendarMaxDate: any;
    __calendarDisableDates: any;
    /**
     * Responsible for listening param change event and
     * sync the calendar dates with the updated validator params
     * @param {Event|CustomEvent} e
     * @param {{validator: Validator}} metaData
     * @protected
     */
    protected _onValidatorUpdated(e: Event | CustomEvent, metaData: {
        validator: Validator;
    }): void;
    _cachedOverlayContentNode: HTMLElement | undefined;
}
export type Validator = import('../../form-core/src/validate/Validator.js').Validator;
export type RenderOptions = import('lit').RenderOptions;
import { LionInputDate } from "../../../exports/input-date.js";
import { LionCalendar } from "../../../exports/calendar.js";
export {};
//# sourceMappingURL=LionInputDatepicker.d.ts.map