import { type ElementRef, type NgZone, type Renderer2 } from '@angular/core';
import { type TuiAutofocusOptions } from '../autofocus.options';
import { AbstractTuiAutofocusHandler } from './abstract.handler';
export declare class TuiIosAutofocusHandler extends AbstractTuiAutofocusHandler {
    private readonly renderer;
    private readonly zone;
    private readonly win;
    constructor(el: ElementRef<HTMLElement>, renderer: Renderer2, zone: NgZone, win: Window, options: TuiAutofocusOptions);
    setFocus(): void;
    private iosWebkitAutofocus;
    /**
     * @note:
     * emulate textfield position in layout with cursor
     * before focus to real textfield element
     *
     * required note:
     * [fakeInput.readOnly = true] ~
     * don't use {readOnly: true} value, it's doesn't work for emulate autofill
     *
     * [fakeInput.style.opacity = 0] ~
     * don't use {opacity: 0}, sometimes it's doesn't work for emulate real input
     *
     * [fakeInput.style.fontSize = 16px] ~
     * disable possible auto zoom
     *
     * [fakeInput.style.top/left] ~
     * emulate position cursor before focus to real textfield element
     */
    private makeFakeInput;
    private getDurationTimeBeforeFocus;
    /**
     * @note:
     * unfortunately, in older versions of iOS
     * there is a bug that the fake input cursor
     * will move along with the dialog animation
     * and then that dialog will be shaking
     */
    private insideDialog;
    /**
     * @note:
     * inherit basic attributes values from real input
     * for help iOS detect what do you want see on keyboard,
     * for example [inputMode=numeric, autocomplete=cc-number]
     */
    private patchFakeInputFromFocusableElement;
}
