import * as _angular_core from '@angular/core';
import { AfterViewInit, ElementRef, Injector } from '@angular/core';
import _DateRangePicker from '@ui5/webcomponents/dist/DateRangePicker.js';
import { UI5CustomEvent } from '@ui5/webcomponents-base';
import * as i1 from '@fundamental-ngx/ui5-webcomponents/utils';

declare class DateRangePicker implements AfterViewInit {
    /**
     * Determines the symbol which separates the dates.
  If not supplied, the default time interval delimiter for the current locale will be used.
     */
    delimiter: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines a formatted date value.
     */
    value: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines the value state of the component.
     */
    valueState: _angular_core.InputSignal<"None" | "Positive" | "Critical" | "Negative" | "Information" | undefined>;
    /**
     * Defines whether the component is required.
     */
    required: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Determines whether the component is displayed as disabled.
     */
    disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Determines whether the component is displayed as read-only.
     */
    readonly: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Defines a short hint, intended to aid the user with data entry when the
  component has no value.
  
  **Note:** When no placeholder is set, the format pattern is displayed as a placeholder.
  Passing an empty string as the value of this property will make the component appear empty - without placeholder or format pattern.
     */
    placeholder: _angular_core.InputSignal<string | undefined>;
    /**
     * Determines the name by which the component will be identified upon submission in an HTML form.
  
  **Note:** This property is only applicable within the context of an HTML Form element.
     */
    name: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines the visibility of the week numbers column.
  
  **Note:** For calendars other than Gregorian,
  the week numbers are not displayed regardless of what is set.
     */
    hideWeekNumbers: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Defines the open or closed state of the popover.
     */
    open: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Defines the aria-label attribute for the component.
     */
    accessibleName: _angular_core.InputSignal<string | undefined>;
    /**
     * Receives id(or many ids) of the elements that label the component.
     */
    accessibleNameRef: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines the accessible description of the component.
     */
    accessibleDescription: _angular_core.InputSignal<string | undefined>;
    /**
     * Receives id(or many ids) of the elements that describe the input.
     */
    accessibleDescriptionRef: _angular_core.InputSignal<string | undefined>;
    /**
     * Sets a calendar type used for display.
  If not set, the calendar type of the global configuration is used.
     */
    primaryCalendarType: _angular_core.InputSignal<"Gregorian" | "Islamic" | "Japanese" | "Buddhist" | "Persian" | undefined>;
    /**
     * Defines the secondary calendar type.
  If not set, the calendar will only show the primary calendar type.
     */
    secondaryCalendarType: _angular_core.InputSignal<"Gregorian" | "Islamic" | "Japanese" | "Buddhist" | "Persian" | undefined>;
    /**
     * Determines the format, displayed in the input field.
     */
    formatPattern: _angular_core.InputSignal<string | undefined>;
    /**
     * Determines the format, displayed in the input field.
     */
    displayFormat: _angular_core.InputSignal<string | undefined>;
    /**
     * Determines the format, used for the value attribute.
     */
    valueFormat: _angular_core.InputSignal<string | undefined>;
    /**
     * Determines the minimum date available for selection.
  
  **Note:** If the formatPattern property is not set, the minDate value must be provided in the ISO date format (yyyy-MM-dd).
     */
    minDate: _angular_core.InputSignal<string | undefined>;
    /**
     * Determines the maximum date available for selection.
  
  **Note:** If the formatPattern property is not set, the maxDate value must be provided in the ISO date format (yyyy-MM-dd).
     */
    maxDate: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines how to calculate calendar weeks and first day of the week.
  If not set, the calendar will be displayed according to the currently set global configuration.
     */
    calendarWeekNumbering: _angular_core.InputSignal<"Default" | "ISO_8601" | "MiddleEastern" | "WesternTraditional" | undefined>;
    /**
     * **Note:** The getter method is inherited and not supported. If called it will return an empty value.
     * @readonly This property is managed by the web component.
     */
    get dateValue(): Date | null;
    /**
     * **Note:** The getter method is inherited and not supported. If called it will return an empty value.
     * @readonly This property is managed by the web component.
     */
    get dateValueUTC(): Date | null;
    /**
     * Returns the start date of the currently selected range as JavaScript Date instance.
     * @readonly This property is managed by the web component.
     */
    get startDateValue(): Date | null;
    /**
     * Returns the end date of the currently selected range as JavaScript Date instance.
     * @readonly This property is managed by the web component.
     */
    get endDateValue(): Date | null;
    /**
     * Fired when the input operation has finished by pressing Enter or on focusout.
     */
    ui5Change: _angular_core.OutputEmitterRef<UI5CustomEvent<_DateRangePicker, "change">>;
    /**
     * Fired when the value of the component is changed at each key stroke.
     */
    ui5Input: _angular_core.OutputEmitterRef<UI5CustomEvent<_DateRangePicker, "input">>;
    /**
     * Fired before the value state of the component is updated internally.
  The event is preventable, meaning that if it's default action is
  prevented, the component will not update the value state.
     */
    ui5ValueStateChange: _angular_core.OutputEmitterRef<UI5CustomEvent<_DateRangePicker, "value-state-change">>;
    /**
     * Fired after the component's picker is opened.
     */
    ui5Open: _angular_core.OutputEmitterRef<UI5CustomEvent<_DateRangePicker, "open">>;
    /**
     * Fired after the component's picker is closed.
     */
    ui5Close: _angular_core.OutputEmitterRef<UI5CustomEvent<_DateRangePicker, "close">>;
    /**
     * Available slots for content projection in this component.
     *
     * Slots allow you to insert custom content into predefined areas of the web component.
     * Use the `slot` attribute on child elements to target specific slots.
     *
     * - **valueStateMessage**: Defines the value state message that will be displayed as pop up under the component.
  
  **Note:** If not specified, a default text (in the respective language) will be displayed.
  
  **Note:** The `valueStateMessage` would be displayed,
  when the component is in `Information`, `Critical` or `Negative` value state.
     *
     * @example
     * ```html
     * <ui5-daterange-picker>
     *   <div slot="header">Custom header content</div>
     *   <p>Default slot content</p>
     * </ui5-daterange-picker>
     * ```
     *
     * @readonly
     * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_templates_and_slots | MDN Web Components Slots}
     */
    readonly slots: {
        name: string;
        description: string;
        since: string;
    }[];
    elementRef: ElementRef<_DateRangePicker>;
    injector: Injector;
    get element(): _DateRangePicker;
    ngAfterViewInit(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<DateRangePicker, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<DateRangePicker, "ui5-daterange-picker, [ui5-daterange-picker]", ["ui5DateRangePicker"], { "delimiter": { "alias": "delimiter"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "valueState": { "alias": "valueState"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "hideWeekNumbers": { "alias": "hideWeekNumbers"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "accessibleName": { "alias": "accessibleName"; "required": false; "isSignal": true; }; "accessibleNameRef": { "alias": "accessibleNameRef"; "required": false; "isSignal": true; }; "accessibleDescription": { "alias": "accessibleDescription"; "required": false; "isSignal": true; }; "accessibleDescriptionRef": { "alias": "accessibleDescriptionRef"; "required": false; "isSignal": true; }; "primaryCalendarType": { "alias": "primaryCalendarType"; "required": false; "isSignal": true; }; "secondaryCalendarType": { "alias": "secondaryCalendarType"; "required": false; "isSignal": true; }; "formatPattern": { "alias": "formatPattern"; "required": false; "isSignal": true; }; "displayFormat": { "alias": "displayFormat"; "required": false; "isSignal": true; }; "valueFormat": { "alias": "valueFormat"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "calendarWeekNumbering": { "alias": "calendarWeekNumbering"; "required": false; "isSignal": true; }; }, { "ui5Change": "ui5Change"; "ui5Input": "ui5Input"; "ui5ValueStateChange": "ui5ValueStateChange"; "ui5Open": "ui5Open"; "ui5Close": "ui5Close"; }, never, ["*"], true, [{ directive: typeof i1.GenericControlValueAccessor; inputs: {}; outputs: {}; }]>;
}

export { DateRangePicker };
