import { XDatePicker } from './XDatePicker';
import { IgcSelectedValueChangedEventArgs } from "./igc-selected-value-changed-event-args";
import { IgcGotFocusEventArgs } from "./igc-got-focus-event-args";
import { IgcLostFocusEventArgs } from "./igc-lost-focus-event-args";
import { IgcInputChangeEventArgs } from "./igc-input-change-event-args";
import { IgcKeyEventArgs } from "igniteui-webcomponents-core";
import { ControlDisplayDensity } from "igniteui-webcomponents-core";
import { BaseControlTheme } from "igniteui-webcomponents-core";
import { DateFormats } from "./DateFormats";
import { DayOfWeek } from "./DayOfWeek";
import { FirstWeek } from "./FirstWeek";
import { IgcHTMLElement } from "igniteui-webcomponents-core";
export declare class IgcXDatePickerComponent extends IgcHTMLElement {
    private _height;
    private _width;
    set height(value: string);
    get height(): string;
    set width(value: string);
    get width(): string;
    private _container;
    private _renderer;
    constructor();
    updateStyle(): void;
    destroy(): void;
    protected createImplementation(): XDatePicker;
    private _datePicker;
    private _disconnected;
    disconnectedCallback(): void;
    connectedCallback(): void;
    afterContentInit(): void;
    private attributeSynced;
    protected _implementation: any;
    /**
     * @hidden
     */
    get i(): XDatePicker; /**
                                 * @hidden
                                 */
    static _createFromInternal(internal: any): IgcXDatePickerComponent;
    private _settingAttributes;
    protected _attached: boolean;
    private _queuedSetAttributes;
    protected _enqueueSetAttribute(attrName: string, attrValue: string): void;
    protected _flushQueuedAttributes(): void;
    protected _a(attrName: string, attrValue: any): void;
    private static _observedAttributesIgcXDatePickerComponent;
    static get observedAttributes(): string[];
    private _updatingFromAttribute;
    attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
    static htmlTagName: string;
    protected static _isElementRegistered: boolean;
    static register(): void;
    /**
 * Gets or Sets the property name that contains the values.
*/
    get value(): Date;
    set value(v: Date);
    /**
     * Gets or Sets the property name that contains the values.
    */
    get today(): Date;
    set today(v: Date);
    /**
     * Gets or Sets the property name that contains the label.
    */
    get label(): string;
    set label(v: string);
    /**
     * Gets or sets the color to use for the text.
    */
    get labelTextColor(): string;
    set labelTextColor(v: string);
    /**
     * Gets or sets the font to use for the combobox.
    */
    get labelTextStyle(): string;
    set labelTextStyle(v: string);
    /**
     * Gets or Sets the property name that contains the placeholder.
    */
    get placeholder(): string;
    set placeholder(v: string);
    /**
     * Gets or Sets the property name that contains the MinDate.
    */
    get minDate(): Date;
    set minDate(v: Date);
    /**
     * Gets or Sets the property name that contains the MaxDate.
    */
    get maxDate(): Date;
    set maxDate(v: Date);
    /**
     * Gets or sets the display density to use for the date pcicker.
    */
    get density(): ControlDisplayDensity;
    set density(v: ControlDisplayDensity);
    /**
     * Gets or sets the base built in theme to use for the date picker.
    */
    get baseTheme(): BaseControlTheme;
    set baseTheme(v: BaseControlTheme);
    /**
     * Gets or sets the font to use for the combobox.
    */
    get textStyle(): string;
    set textStyle(v: string);
    /**
     * Gets or Sets the text color
    */
    get textColor(): string;
    set textColor(v: string);
    /**
     * Gets or Sets the text color
    */
    get iconColor(): string;
    set iconColor(v: string);
    /**
     * Gets or sets the ShowClearButton property to detirmine if the clear button is shown
    */
    get showClearButton(): boolean;
    set showClearButton(v: boolean);
    /**
     * Gets or sets the ShowTodayButton property to detirmine if the today button is shown
    */
    get showTodayButton(): boolean;
    set showTodayButton(v: boolean);
    /**
     * Gets or sets the AllowTextInput property to detirmine if entering text into the input is allowed
    */
    get allowTextInput(): boolean;
    set allowTextInput(v: boolean);
    /**
     * Gets or sets the AllowTextInput property to detirmine if entering text into the input is allowed
    */
    get openOnFocus(): boolean;
    set openOnFocus(v: boolean);
    /**
     * Gets or sets the FirstDayOfWeek property to detirmine first day of the week
    */
    get firstDayOfWeek(): DayOfWeek;
    set firstDayOfWeek(v: DayOfWeek);
    /**
     * Gets or sets the FirstWeekOfYear property to detirmine first week of the year
    */
    get firstWeekOfYear(): FirstWeek;
    set firstWeekOfYear(v: FirstWeek);
    /**
     * Gets or sets the ShowWeekNumbers property to detirmine if the week numbers are shown
    */
    get showWeekNumbers(): boolean;
    set showWeekNumbers(v: boolean);
    /**
     * Gets or sets the date time format to use for this column. If FormatString is specificied this value is ignored.
    */
    get dateFormat(): DateFormats;
    set dateFormat(v: DateFormats);
    /**
     * Gets or sets the Format property to detirmine the format of the date in the input
    */
    get formatString(): string;
    set formatString(v: string);
    get isDisabled(): boolean;
    set isDisabled(v: boolean);
    /**
     * Indicates that the calendar dropdown will position itself relative to the window instead of the document.
    */
    get isFixed(): boolean;
    set isFixed(v: boolean);
    /**
     * Indicates that the dropdown should open as a child of the date picker.
    */
    get openAsChild(): boolean;
    set openAsChild(v: boolean);
    /**
     * Indicates that the dropdown will place itself into the browser top layer.
    */
    get useTopLayer(): boolean;
    set useTopLayer(v: boolean);
    protected __p: string;
    protected _hasUserValues: Set<string>;
    protected get hasUserValues(): Set<string>;
    protected __m(propertyName: string): void;
    protected _stylingContainer: any;
    protected _stylingParent: any;
    protected _inStyling: boolean;
    protected _styling(container: any, component: any, parent?: any): void;
    select(): void;
    /**
     * Exports visual information about the current state of the grid.
    
    */
    exportVisualModel(): any;
    /**
     * Returns a serialized copy of the exported visual model
    
    */
    exportSerializedVisualModel(): string;
    private _selectedValueChanged;
    private _selectedValueChanged_wrapped;
    /**
     * Called when date is selected.
    */
    get selectedValueChanged(): (s: IgcXDatePickerComponent, e: IgcSelectedValueChangedEventArgs) => void;
    set selectedValueChanged(ev: (s: IgcXDatePickerComponent, e: IgcSelectedValueChangedEventArgs) => void);
    private _gotFocus;
    private _gotFocus_wrapped;
    get gotFocus(): (s: IgcXDatePickerComponent, e: IgcGotFocusEventArgs) => void;
    set gotFocus(ev: (s: IgcXDatePickerComponent, e: IgcGotFocusEventArgs) => void);
    private _lostFocus;
    private _lostFocus_wrapped;
    get lostFocus(): (s: IgcXDatePickerComponent, e: IgcLostFocusEventArgs) => void;
    set lostFocus(ev: (s: IgcXDatePickerComponent, e: IgcLostFocusEventArgs) => void);
    private _keyDown;
    private _keyDown_wrapped;
    get keyDown(): (s: IgcXDatePickerComponent, e: IgcKeyEventArgs) => void;
    set keyDown(ev: (s: IgcXDatePickerComponent, e: IgcKeyEventArgs) => void);
    private _changing;
    private _changing_wrapped;
    get changing(): (s: IgcXDatePickerComponent, e: IgcInputChangeEventArgs) => void;
    set changing(ev: (s: IgcXDatePickerComponent, e: IgcInputChangeEventArgs) => void);
    private _valueChange;
    private _valueChange_wrapped;
    get valueChange(): (s: IgcXDatePickerComponent, e: Date) => void;
    set valueChange(ev: (s: IgcXDatePickerComponent, e: Date) => void);
}
