import { ElementRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { FormControl } from '@angular/forms';
import { BehaviorSubject, Subject } from 'rxjs';
import { InlineInputType } from '@ironsource/fusion-ui/components/input-inline';
import { InputType } from '@ironsource/fusion-ui/components/input/v4';
import { CurrencyPipeParameters } from '@ironsource/fusion-ui/components/table';
import { InputComponent } from '@ironsource/fusion-ui/components/input/v4';
import { DropdownOption } from '@ironsource/fusion-ui/components/dropdown-option';
import * as i0 from "@angular/core";
export declare class InputInlineV4Component implements OnInit, OnDestroy {
    /** @internal */
    inputComponent: InputComponent;
    /** @internal */
    inputWrapper: ElementRef;
    set type(value: InlineInputType);
    get type(): InlineInputType;
    get inputType(): InputType;
    get isNumber(): boolean;
    get isDropdown(): boolean;
    get dropdownSelectedText(): string;
    readOnly: boolean;
    set pending(value: boolean);
    get pending(): boolean;
    currencyPipeParameters?: CurrencyPipeParameters;
    pipeOptions?: string;
    set data(value: FormControl);
    get inputPrefix(): string;
    get inputSuffix(): string;
    error: string;
    set errorMapping(value: {
        [key: string]: string;
    });
    hideNumberArrows: boolean;
    selectOptions: DropdownOption[];
    onSave: EventEmitter<any>;
    onCancel: EventEmitter<any>;
    /** @internal */
    isEditMode$: BehaviorSubject<boolean>;
    /** @internal */
    setEditMode$: Subject<unknown>;
    /** @internal */
    inputControl: FormControl<any>;
    /** @internal */
    inputValue: string;
    /** @internal */
    disabled: boolean;
    /** @internal */
    dropdownIcon: string;
    private _type;
    private _inputType;
    private clickOutSideSubscription;
    private onDestroy$;
    private stayInEditMode;
    private _pending;
    private _errorMapping;
    ngOnInit(): void;
    ngOnDestroy(): void;
    /** @internal */
    save(): void;
    /** @internal */
    cancel(): void;
    /** @internal */
    goToEditMode(withValue?: string | number): void;
    private getErrorMessage;
    private handleDropdownSelect;
    private setEditMode;
    private setFocusToInput;
    private handleClickOutside;
    private isClickInside;
    protected readonly InlineInputType: typeof InlineInputType;
    static ɵfac: i0.ɵɵFactoryDeclaration<InputInlineV4Component, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<InputInlineV4Component, "fusion-input-inline", never, { "type": { "alias": "type"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; "pending": { "alias": "pending"; "required": false; }; "currencyPipeParameters": { "alias": "currencyPipeParameters"; "required": false; }; "pipeOptions": { "alias": "pipeOptions"; "required": false; }; "data": { "alias": "data"; "required": false; }; "error": { "alias": "error"; "required": false; }; "errorMapping": { "alias": "errorMapping"; "required": false; }; "hideNumberArrows": { "alias": "hideNumberArrows"; "required": false; }; "selectOptions": { "alias": "selectOptions"; "required": false; }; }, { "onSave": "onSave"; "onCancel": "onCancel"; }, never, never, true, never>;
}
