import { UIDialogView } from "./UIDialogView";
import { UIObject } from "./UIObject";
import { UIRoute } from "./UIRoute";
import { UIView, UIViewBroadcastEvent } from "./UIView";
export declare class UIViewController extends UIObject {
    view: UIView;
    parentViewController?: UIViewController;
    childViewControllers: UIViewController[];
    static readonly routeComponentName: string;
    static readonly ParameterIdentifierName: any;
    constructor(view: UIView);
    get routeComponent(): import("./UIRoute").UIRouteComponent<{
        [x: string]: string;
    }> | undefined;
    handleRouteRecursively(route: UIRoute): void;
    handleRoute(route: UIRoute): Promise<void>;
    viewWillAppear(): Promise<void>;
    viewDidAppear(): Promise<void>;
    viewWillDisappear(): Promise<void>;
    viewDidDisappear(): Promise<void>;
    updateViewConstraints(): void;
    updateViewStyles(): void;
    layoutViewSubviews(): void;
    _triggerLayoutViewSubviews(): void;
    viewWillLayoutSubviews(): void;
    viewDidLayoutSubviews(): void;
    viewDidReceiveBroadcastEvent(event: UIViewBroadcastEvent): void;
    get core(): import("./UICore").UICore;
    hasChildViewController(viewController: UIViewController): boolean;
    addChildViewController(viewController: UIViewController): void;
    removeFromParentViewController(): void;
    willMoveToParentViewController(parentViewController: UIViewController): void;
    didMoveToParentViewController(parentViewController: UIViewController): void;
    removeChildViewController(controller: UIViewController): void;
    addChildViewControllerInContainer(controller: UIViewController, containerView: UIView): void;
    addChildViewControllerInDialogView(controller: UIViewController, dialogView: UIDialogView): void;
}
