import { Position } from '../view-interfaces';
import type { View } from '..';
export * from './view-helper-common';
export declare const AndroidHelper = 0;
declare class UILayoutViewController extends UIViewController {
    owner: WeakRef<View>;
    static initWithOwner(owner: WeakRef<View>): UILayoutViewController;
    viewDidLoad(): void;
    viewWillLayoutSubviews(): void;
    viewDidLayoutSubviews(): void;
    viewWillAppear(animated: boolean): void;
    viewDidDisappear(animated: boolean): void;
    get childViewControllerForStatusBarStyle(): UIViewController;
    traitCollectionDidChange(previousTraitCollection: UITraitCollection): void;
    get preferredStatusBarStyle(): UIStatusBarStyle;
}
declare class UIAdaptivePresentationControllerDelegateImp extends NSObject implements UIAdaptivePresentationControllerDelegate {
    static ObjCProtocols: {
        prototype: UIAdaptivePresentationControllerDelegate;
    }[];
    owner: WeakRef<View>;
    closedCallback: Function;
    static initWithOwnerAndCallback(owner: WeakRef<View>, whenClosedCallback: Function): UIAdaptivePresentationControllerDelegateImp;
    presentationControllerDidDismiss(presentationController: UIPresentationController): void;
}
declare class UIPopoverPresentationControllerDelegateImp extends NSObject implements UIPopoverPresentationControllerDelegate {
    static ObjCProtocols: {
        prototype: UIPopoverPresentationControllerDelegate;
    }[];
    owner: WeakRef<View>;
    closedCallback: Function;
    static initWithOwnerAndCallback(owner: WeakRef<View>, whenClosedCallback: Function): UIPopoverPresentationControllerDelegateImp;
    popoverPresentationControllerDidDismissPopover(popoverPresentationController: UIPopoverPresentationController): void;
}
export declare class IOSHelper {
    static traitCollectionColorAppearanceChangedEvent: string;
    static traitCollectionLayoutDirectionChangedEvent: string;
    static UILayoutViewController: typeof UILayoutViewController;
    static UIAdaptivePresentationControllerDelegateImp: typeof UIAdaptivePresentationControllerDelegateImp;
    static UIPopoverPresentationControllerDelegateImp: typeof UIPopoverPresentationControllerDelegateImp;
    static getParentWithViewController(view: View): View;
    static invalidateStatusBarAppearance(controller?: UIViewController, reason?: string): void;
    static updateAutoAdjustScrollInsets(controller: UIViewController, owner: View): void;
    /**
     * This method simulates the iOS 11+ safeAreaLayoutGuide property and its constraints for older versions.
     *
     * @param controller
     * @param owner
     */
    static updateConstraints(controller: UIViewController, owner: View): void;
    /**
     * This method simulates the iOS 11+ safeAreaLayoutGuide property for older versions.
     *
     * @param controller
     */
    static initLayoutGuide(controller: UIViewController): UILayoutGuide;
    static layoutView(controller: UIViewController, owner: View): void;
    static getPositionFromFrame(frame: CGRect): Position;
    static getFrameFromPosition(position: Position, insets?: Position): CGRect;
    static shrinkToSafeArea(view: View, frame: CGRect): CGRect;
    static expandBeyondSafeArea(view: View, frame: CGRect): CGRect;
    static getAvailableSpaceFromParent(view: View, frame: CGRect): {
        safeArea: CGRect;
        fullscreen: CGRect;
        inWindow: CGRect;
    };
}
