import React from "react";
interface KeyboardState {
    isVisible: boolean;
    height: number;
    duration: number;
    easing: string;
}
interface ViewportInfo {
    width: number;
    height: number;
    visualHeight: number;
    keyboardHeight: number;
}
interface MobileKeyboardHandlerProps {
    children: React.ReactNode;
    onKeyboardToggle?: (isVisible: boolean, height: number) => void;
    adjustmentStrategy?: "resize" | "scroll" | "shrink";
    className?: string;
    enableSafeArea?: boolean;
    minVisibleHeight?: number;
}
export declare function useKeyboardDetection(): KeyboardState & ViewportInfo;
export declare function useMobileInputFocus(): {
    scrollToInput: (inputElement: HTMLElement) => void;
    preventZoom: (inputElement: HTMLInputElement) => void;
    handleInputFocus: (event: React.FocusEvent<HTMLInputElement>) => void;
};
export declare function MobileKeyboardHandler({ children, onKeyboardToggle, adjustmentStrategy, className, enableSafeArea, minVisibleHeight, }: MobileKeyboardHandlerProps): import("react/jsx-runtime").JSX.Element;
interface KeyboardAwareInputProps {
    value: string;
    onChange: (value: string) => void;
    onSubmit?: () => void;
    placeholder?: string;
    disabled?: boolean;
    className?: string;
    autoFocus?: boolean;
    keepVisible?: boolean;
}
export declare function KeyboardAwareInput({ value, onChange, onSubmit, placeholder, disabled, className, autoFocus, keepVisible, }: KeyboardAwareInputProps): import("react/jsx-runtime").JSX.Element;
export declare function useBackButtonHandler(onBackPress?: () => void): void;
export declare function useScrollLock(isLocked: boolean): void;
export {};
//# sourceMappingURL=mobile-keyboard-handler.d.ts.map