import { TemplateRef, EventEmitter, ViewContainerRef, Injector, AfterViewInit, Renderer2, NgZone } from '@angular/core';
import { XInput as Input_internal } from "./XInput";
import { IgxXInputGroupItemComponent } from './igx-x-input-group-item-component';
import { IgxInputChangeEventArgs } from './igx-input-change-event-args';
import { ControlDisplayDensity } from "igniteui-angular-core";
import { IgxKeyEventArgs } from "igniteui-angular-core";
import { BaseControlTheme } from "igniteui-angular-core";
import { HorizontalAlignment } from "igniteui-angular-core";
import * as i0 from "@angular/core";
export declare class IgxXInputComponent extends IgxXInputGroupItemComponent implements AfterViewInit {
    private renderer;
    private _elRef;
    private ngZone;
    private injector;
    container: Element;
    private _wrapper;
    private _portalManager;
    private _root;
    _dynamicContent: ViewContainerRef;
    _childTemplateRef: TemplateRef<any>;
    constructor(renderer: Renderer2, _elRef: ViewContainerRef, ngZone: NgZone, injector: Injector);
    updateStyle(): void;
    ngOnDestroy(): void;
    ngAfterViewInit(): void;
    protected createImplementation(): Input_internal;
    get i(): Input_internal;
    private _input;
    /**
 * Gets or sets the base built in theme to use for the button.
*/
    get baseTheme(): BaseControlTheme;
    set baseTheme(v: BaseControlTheme);
    static ngAcceptInputType_baseTheme: BaseControlTheme | string;
    /**
     * Gets or sets the display density to use for the input.
    */
    get density(): ControlDisplayDensity;
    set density(v: ControlDisplayDensity);
    static ngAcceptInputType_density: ControlDisplayDensity | string;
    /**
     * Gets the actual display density to use for the label.
    */
    get actualDensity(): ControlDisplayDensity;
    set actualDensity(v: ControlDisplayDensity);
    static ngAcceptInputType_actualDensity: ControlDisplayDensity | string;
    /**
     * Gets/Sets the input mask for the input.
    */
    get mask(): string;
    set mask(v: string);
    /**
     * Gets/Sets the character representing a fillable spot in the input mask
    */
    get promptChar(): string;
    set promptChar(v: string);
    /**
     * Specifies if the bound value includes the formatting symbols.
    */
    get includeLiterals(): boolean;
    set includeLiterals(v: boolean);
    static ngAcceptInputType_includeLiterals: boolean | string;
    get showSpinner(): boolean;
    set showSpinner(v: boolean);
    static ngAcceptInputType_showSpinner: boolean | string;
    /**
     * Gets the actual color to use for the text color.
    */
    get actualTextColor(): string;
    set actualTextColor(v: string);
    /**
     * Gets the actual hover color to use for the text.
    */
    get actualHoverTextColor(): string;
    set actualHoverTextColor(v: string);
    /**
     * Gets or sets the color to use for the text.
    */
    get textColor(): string;
    set textColor(v: string);
    /**
     * Gets or sets the use for the button.
    */
    get textStyle(): string;
    set textStyle(v: string);
    /**
     * Gets or sets the type to use for the input.
    */
    get inputType(): string;
    set inputType(v: string);
    /**
     * Gets or sets the placeholder to use for the input.
    */
    get placeholder(): string;
    set placeholder(v: string);
    /**
     * Gets or sets the color to use for the hovered text of the button regardless of type.
    */
    get hoverTextColor(): string;
    set hoverTextColor(v: string);
    /**
     * Gets or sets the id to use for the checkbox.
    */
    get id(): string;
    set id(v: string);
    /**
     * Gets or sets TabIndex to use for the checkbox.
    */
    get tabIndex(): number;
    set tabIndex(v: number);
    static ngAcceptInputType_tabIndex: number | string;
    /**
     * Gets or sets the for attribute to use for the input.
    */
    get for(): string;
    set for(v: string);
    /**
     * Gets or sets the value of the aria-label attribute.
    */
    get ariaLabel(): string;
    set ariaLabel(v: string);
    /**
     * Gets or sets whether the input is hovered.
    */
    get isHover(): boolean;
    set isHover(v: boolean);
    static ngAcceptInputType_isHover: boolean | string;
    /**
     * Gets or sets the value for the input.
    */
    get value(): string;
    set value(v: string);
    get hasValue(): boolean;
    static ngAcceptInputType_hasValue: boolean | string;
    /**
     * Gets or sets whether the checkbox is disabled.
    */
    get disabled(): boolean;
    set disabled(v: boolean);
    static ngAcceptInputType_disabled: boolean | string;
    /**
     * Gets or sets whether the checkbox is readonly.
    */
    get readonly(): boolean;
    set readonly(v: boolean);
    static ngAcceptInputType_readonly: boolean | string;
    /**
     * Gets or sets the alignment of the text.
    */
    get textAlignment(): HorizontalAlignment;
    set textAlignment(v: HorizontalAlignment);
    static ngAcceptInputType_textAlignment: HorizontalAlignment | string;
    /**
     * Returns / Sets the beginning index of the selected text. When nothing is selected, this returns the position of the text input cursor (caret) inside of the input.
    */
    get selectionStart(): number;
    set selectionStart(v: number);
    static ngAcceptInputType_selectionStart: number | string;
    /**
     * Returns / Sets the end index of the selected text. When nothing is selected, this returns the position of the text input cursor (caret) inside of the input.
    */
    get selectionEnd(): number;
    set selectionEnd(v: number);
    static ngAcceptInputType_selectionEnd: number | string;
    onDetachedFromUI(): void;
    onAttachedToUI(): void;
    /**
     * Exports visual information about the current state of the grid.
    
    */
    exportVisualModel(): any;
    /**
     * Returns a serialized copy of the exported visual model
    
    */
    exportSerializedVisualModel(): string;
    setSelectionRange(selectionStart: number, selectionEnd: number): void;
    blur(): void;
    select(): void;
    private _keyDown;
    get keyDown(): EventEmitter<{
        sender: any;
        args: IgxKeyEventArgs;
    }>;
    private _keyUp;
    get keyUp(): EventEmitter<{
        sender: any;
        args: IgxKeyEventArgs;
    }>;
    private _keyPress;
    get keyPress(): EventEmitter<{
        sender: any;
        args: IgxKeyEventArgs;
    }>;
    private _change;
    get change(): EventEmitter<{
        sender: any;
        args: IgxInputChangeEventArgs;
    }>;
    private _changing;
    get changing(): EventEmitter<{
        sender: any;
        args: IgxInputChangeEventArgs;
    }>;
    private _compositionEnd;
    get compositionEnd(): EventEmitter<{
        sender: any;
        args: IgxInputChangeEventArgs;
    }>;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxXInputComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IgxXInputComponent, "igx-x-input", never, { "baseTheme": { "alias": "baseTheme"; "required": false; }; "density": { "alias": "density"; "required": false; }; "actualDensity": { "alias": "actualDensity"; "required": false; }; "mask": { "alias": "mask"; "required": false; }; "promptChar": { "alias": "promptChar"; "required": false; }; "includeLiterals": { "alias": "includeLiterals"; "required": false; }; "showSpinner": { "alias": "showSpinner"; "required": false; }; "actualTextColor": { "alias": "actualTextColor"; "required": false; }; "actualHoverTextColor": { "alias": "actualHoverTextColor"; "required": false; }; "textColor": { "alias": "textColor"; "required": false; }; "textStyle": { "alias": "textStyle"; "required": false; }; "inputType": { "alias": "inputType"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "hoverTextColor": { "alias": "hoverTextColor"; "required": false; }; "id": { "alias": "id"; "required": false; }; "tabIndex": { "alias": "tabindex"; "required": false; }; "for": { "alias": "for"; "required": false; }; "ariaLabel": { "alias": "aria-label"; "required": false; }; "isHover": { "alias": "isHover"; "required": false; }; "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "textAlignment": { "alias": "textAlignment"; "required": false; }; "selectionStart": { "alias": "selectionStart"; "required": false; }; "selectionEnd": { "alias": "selectionEnd"; "required": false; }; }, { "keyDown": "keyDown"; "keyUp": "keyUp"; "keyPress": "keyPress"; "change": "change"; "changing": "changing"; "compositionEnd": "compositionEnd"; }, never, ["*"], true, never>;
}
