import { ElementRef, OnDestroy } from '@angular/core';
import { Locale } from './Locale/type';
import * as i0 from "@angular/core";
/**
 * Directive applied to an element to make it usable as an origin for an keyboard using a
 * ConnectedPositionStrategy.
 */
export declare class NgxTouchKeyboardOrigin {
    elementRef: ElementRef<any>;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgxTouchKeyboardOrigin, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<NgxTouchKeyboardOrigin, "[ngxTouchKeyboardOrigin]", ["ngxTouchKeyboardOrigin"], {}, {}, never, never, false, never>;
}
/**
 * This directive provides methods to open, close, and toggle the touch keyboard panel.
 * It also handles the creation and configuration of the overlay used to display the keyboard.
 */
export declare class NgxTouchKeyboardDirective implements OnDestroy {
    private _overlay;
    private _elementRef;
    open: import("@angular/core").ModelSignal<boolean>;
    locale: import("@angular/core").InputSignal<Locale | undefined>;
    debugMode: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
    fullScreenMode: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
    origin: import("@angular/core").InputSignal<NgxTouchKeyboardOrigin | null>;
    private _overlayRef;
    private _panelRef;
    /**
     * constructor
     */
    constructor();
    /**
     * On destroy
     */
    ngOnDestroy(): void;
    /**
     * Open keyboard panel
     */
    openPanel(): void;
    /**
     * Close keyboard panel
     */
    closePanel(): void;
    /**
     * Toggle keyboard panel
     */
    togglePanel(): void;
    /**
     * Create the overlay
     *
     * @private
     */
    private _createOverlay;
    /**
     * Get position strategy
     *
     * @param fullscreen
     * @private
     */
    private _getPositionStrategy;
    /**
     * Get overlay size
     *
     * @param fullscreen
     * @private
     */
    private _getOverlaySize;
    /**
     * Gets the origin element for the keyboard panel.
     *
     * @private
     */
    private _getOriginElement;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgxTouchKeyboardDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<NgxTouchKeyboardDirective, "input[ngxTouchKeyboard], textarea[ngxTouchKeyboard]", ["ngxTouchKeyboard"], { "open": { "alias": "ngxTouchKeyboardOpen"; "required": false; "isSignal": true; }; "locale": { "alias": "ngxTouchKeyboardLocale"; "required": false; "isSignal": true; }; "debugMode": { "alias": "ngxTouchKeyboardDebug"; "required": false; "isSignal": true; }; "fullScreenMode": { "alias": "ngxTouchKeyboardFullScreen"; "required": false; "isSignal": true; }; "origin": { "alias": "ngxConnectedTouchKeyboardOrigin"; "required": false; "isSignal": true; }; }, { "open": "ngxTouchKeyboardOpenChange"; }, never, never, false, never>;
}
