/**
 * Copyright IBM Corp. 2019, 2025
 *
 * This source code is licensed under the Apache-2.0 license found in the
 * LICENSE file in the root directory of this source tree.
 */
import { LitElement } from 'lit';
import { Instance as FlatpickrInstance } from 'flatpickr/dist/types/instance';
import { Locale as FlatpickrLocale } from 'flatpickr/dist/types/locale';
declare const CDSDatePicker_base: {
    new (...args: any[]): {
        _handles: Set<import("../../globals/internal/handle").default>;
        connectedCallback(): void;
        disconnectedCallback(): void;
    };
    _hostListeners: {
        [listenerName: string]: {
            [type: string]: {
                options?: boolean | AddEventListenerOptions;
            };
        };
    };
} & (new (...args: any[]) => {
    _hFormdata: import("../../globals/internal/handle").default | null;
    _handleFormdata(event: Event): void;
    connectedCallback(): void;
    disconnectedCallback(): void;
}) & typeof LitElement;
/**
 * Date picker.
 *
 * @element cds-date-picker
 * @fires cds-date-picker-changed - The custom event fired on this element when Flatpickr updates its value.
 * @fires cds-date-picker-flatpickr-error
 *   The name of the custom event when Flatpickr throws an error.
 */
declare class CDSDatePicker extends CDSDatePicker_base {
    /**
     * The slotted `<cds-date-input kind="from">`.
     */
    private _dateInteractNode;
    /**
     * The element to put calendar dropdown in.
     */
    private _floatingMenuContainerNode;
    /**
     * The internal placeholder for the `value` property.
     */
    private _value;
    /**
     * @returns The effective date picker mode, determined by the child `<cds-date-picker-input>`.
     */
    private get _mode();
    /**
     * @returns The Flatpickr plugins to use.
     */
    private get _datePickerPlugins();
    /**
     * @returns The options to instantiate Flatpickr with.
     */
    private get _datePickerOptions();
    /**
     * Handles `${prefix}-date-picker-changed` event on this element.
     */
    private _handleChange;
    _handleFormdata(event: FormDataEvent): void;
    /**
     * Handles `slotchange` event in the `<slot>`.
     */
    private _handleSlotChange;
    /**
     * Fires a custom event to notify an error in Flatpickr.
     */
    private _handleFlatpickrError;
    /**
     * Sets calendar options
     * @param property property to set
     * @param calendar calendar object
     */
    private _setCalendar;
    /**
     * Instantiates Flatpickr.
     *
     * @returns The Flatpickr instance.
     */
    private _instantiateDatePicker;
    /**
     * Releases Flatpickr instances.
     */
    private _releaseDatePicker;
    /**
     * The Flatpickr instance.
     */
    calendar: FlatpickrInstance | null;
    /**
     * flatpickr prop passthrough. Allows the user to enter a date directly into the input field
     */
    allowInput: boolean;
    /**
     * flatpickr prop passthrough. Controls whether the calendar dropdown closes upon selection.
     */
    closeOnSelect: boolean;
    /**
     * The date format to let Flatpickr use.
     */
    dateFormat: string;
    /**
     * Controls the disabled state of the input
     */
    disabled: boolean;
    /**
     * The date range that a user can pick in calendar dropdown.
     */
    enabledRange: string;
    /**
     * The localization data.
     */
    locale: FlatpickrLocale;
    /**
     * The maximum date that a user can start picking from.
     */
    maxDate: string;
    /**
     * The minimum date that a user can start picking from.
     */
    minDate: string;
    /**
     * Name for the input in the `FormData`
     */
    name: string;
    /**
     * `true` if the date picker should be open.
     */
    open: boolean;
    /**
     * Specify if the component should be read-only
     */
    readonly: boolean;
    /**
     * The date(s) in ISO8601 format (date portion only), for range mode, '/' is used for separate start/end dates.
     */
    get value(): string;
    set value(value: string);
    connectedCallback(): void;
    disconnectedCallback(): void;
    updated(changedProperties: any): void;
    render(): import("lit-html").TemplateResult<1>;
    /**
     * The CSS selector for Flatpickr's month/year portion.
     */
    private static _selectorFlatpickrMonthYearContainer;
    /**
     * The CSS selector for Flatpickr's year portion.
     */
    private static _selectorFlatpickrYearContainer;
    /**
     * The CSS selector for the inner element of Flatpickr's month portion.
     */
    private static _selectorFlatpickrCurrentMonth;
    /**
     * The CSS selector for Flatpickr's month navigator.
     */
    private static _selectorFlatpickrMonth;
    /**
     * The CSS selector for Flatpickr's container of the weekdays.
     */
    private static _selectorFlatpickrWeekdays;
    /**
     * The CSS selector for Flatpickr's container of the days.
     */
    private static _selectorFlatpickrDays;
    /**
     * The CSS selector applied to Flatpickr's each weekdays.
     */
    private static _selectorFlatpickrWeekday;
    /**
     * The CSS selector applied to Flatpickr's each days.
     */
    private static _selectorFlatpickrDay;
    /**
     * The CSS class for the inner element of Flatpickr's month portion.
     */
    private static _classFlatpickrCurrentMonth;
    /**
     * The CSS class applied to Flatpickr's "today" highlight.
     */
    private static _classFlatpickrToday;
    /**
     * The CSS class for the calendar dropdown.
     */
    static get classCalendarContainer(): string;
    /**
     * The CSS class for the month navigator.
     */
    static get classMonth(): string;
    /**
     * The CSS class for the container of the weekdays.
     */
    static get classWeekdays(): string;
    /**
     * The CSS class for the container of the days.
     */
    static get classDays(): string;
    /**
     * The CSS class applied to each weekdays.
     */
    static get classWeekday(): string;
    /**
     * The CSS class applied to each days.
     */
    static get classDay(): string;
    /**
     * The CSS class applied to the "today" highlight if there are any dates selected.
     */
    static classNoBorder: string;
    /**
     * The default aria date format.
     */
    static defaultAriaDateFormat: string;
    /**
     * The default date format.
     */
    static defaultDateFormat: string;
    /**
     * The default localization data.
     */
    static defaultLocale: import("flatpickr/dist/types/locale").CustomLocale & FlatpickrLocale;
    /**
     * A selector that will return the `<input>` to enter starting date.
     */
    static get selectorInputFrom(): string;
    /**
     * A selector that will return the `<input>` to enter end date.
     */
    static get selectorInputTo(): string;
    /**
     * The name of the custom event when Flatpickr throws an error.
     */
    static get eventFlatpickrError(): string;
    /**
     * The name of the custom event fired on this element when Flatpickr updates its value.
     */
    static get eventChange(): string;
    static styles: any;
}
export default CDSDatePicker;
//# sourceMappingURL=date-picker.d.ts.map