import { DateType, Languages } from '../date-picker/date.types';
/**
 * @exampleComponent limel-example-date-picker-datetime
 * @exampleComponent limel-example-date-picker-date
 * @exampleComponent limel-example-date-picker-time
 * @exampleComponent limel-example-date-picker-week
 * @exampleComponent limel-example-date-picker-month
 * @exampleComponent limel-example-date-picker-quarter
 * @exampleComponent limel-example-date-picker-year
 * @exampleComponent limel-example-date-picker-formatted
 * @exampleComponent limel-example-date-picker-programmatic-change
 * @exampleComponent limel-example-date-picker-composite
 * @exampleComponent limel-example-date-picker-custom-formatter
 */
export declare class DatePicker {
    /**
     * Set to `true` to disable the field.
     * Use `disabled` to indicate that the field can normally be interacted
     * with, but is currently disabled. This tells the user that if certain
     * requirements are met, the field may become enabled again.
     */
    disabled: boolean;
    /**
     * Set to `true` to make the field read-only.
     * Use `readonly` when the field is only there to present the data it holds,
     * and will not become possible for the current user to edit.
     */
    readonly: boolean;
    /**
     * Set to `true` to indicate that the current value of the date picker is
     * invalid.
     */
    invalid: boolean;
    /**
     * Text to display next to the date picker
     */
    label: string;
    /**
     * The placeholder text shown inside the input field, when the field is focused and empty
     */
    placeholder: string;
    /**
     * Optional helper text to display below the input field when it has focus
     */
    helperText: string;
    /**
     * Set to `true` to indicate that the field is required.
     */
    required: boolean;
    /**
     * The value of the field.
     */
    value: Date;
    /**
     * Type of date picker.
     */
    type: DateType;
    /**
     * Format to display the selected date in.
     */
    format: string;
    /**
     * Defines the localisation for translations and date formatting.
     * Property `format` customizes the localized date format.
     */
    language: Languages;
    /**
     * Custom formatting function. Will be used for date formatting.
     *
     * :::note
     * overrides `format` and `language`
     * :::
     */
    formatter?: (date: Date) => string;
    /**
     * Emitted when the date picker value is changed.
     */
    private change;
    private host;
    private internalFormat;
    private showPortal;
    private useNative;
    private nativeType;
    private nativeFormat;
    private textField;
    private datePickerCalendar;
    private portalId;
    private dateFormatter;
    constructor();
    componentWillLoad(): void;
    componentWillUpdate(): void;
    disconnectedCallback(): void;
    render(): any;
    private updateInternalFormatAndType;
    private nativeChangeHandler;
    private showCalendar;
    private preventBlurFromCalendarContainer;
    private hideCalendar;
    private fixFlatpickrFocusBug;
    private documentClickListener;
    private handleCalendarChange;
    private onInputClick;
    private handleInputElementChange;
    private pickerIsAutoClosing;
    private clearValue;
    private formatValue;
}
//# sourceMappingURL=date-picker.d.ts.map