import { EventEmitter } from '../../stencil-public-runtime';
import { FormComponent, DateType } from '@limetech/lime-elements';
import { LimeWebComponent, LimeWebComponentContext, LimeWebComponentPlatform } from '@limetech/lime-web-components';
/**
 * When developing apps, add-ons, or solution for Lime CRM,
 * you may need date pickers in the UI.
 * :::note
 * This date picker provides support for Lime CRM's user preferences.
 * So instead of using `limel-date-picker`, use this component `limebb-date-picker`.
 * This will ensure that the format which the end-user has chosen is actually used
 * to display the date value.
 * :::
 *
 * @exampleComponent limebb-example-date-picker-datetime
 * @exampleComponent limebb-example-date-picker-date
 * @exampleComponent limebb-example-date-picker-time
 * @exampleComponent limebb-example-date-picker-week
 */
export declare class DatePicker implements LimeWebComponent, FormComponent<string | Date | null> {
    /**
     * @inheritdoc
     */
    platform: LimeWebComponentPlatform;
    /**
     * @inheritdoc
     */
    context: LimeWebComponentContext;
    /**
     * 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: string | Date;
    /**
     * Type of date picker.
     */
    type: DateType;
    /**
     * Emitted when the date picker value is changed.
     */
    change: EventEmitter<string | Date | null>;
    private shouldEmitValueAsString;
    private language;
    render(): any;
    private handleChange;
    private parseDateValue;
    private formatter;
    private get dateTimeFormatter();
    private getAppLanguage;
}
//# sourceMappingURL=date-picker.d.ts.map