import type { View } from '../core/view';
import { SharedElementSettings, Transition } from '.';
export declare class PageTransition extends Transition {
    transitionController: PageTransitionController;
    interactiveController: UIPercentDrivenInteractiveTransition;
    presented: UIViewController;
    presenting: UIViewController;
    navigationController: UINavigationController;
    operation: number;
    sharedElements: {
        presented?: Array<SharedElementSettings>;
        presenting?: Array<SharedElementSettings>;
        independent?: Array<SharedElementSettings & {
            isPresented?: boolean;
        }>;
    };
    private _interactiveStartCallback;
    private _interactiveDismissGesture;
    private _interactiveGestureTeardown;
    iosNavigatedController(navigationController: UINavigationController, operation: number, fromVC: UIViewController, toVC: UIViewController): UIViewControllerAnimatedTransitioning;
    iosInteractionDismiss(animator: UIViewControllerAnimatedTransitioning): UIViewControllerInteractiveTransitioning;
    setupInteractiveGesture(startCallback: () => void, view: View): () => void;
    private _interactiveDismissGestureHandler;
    private _teardownGesture;
}
declare class PageTransitionController extends NSObject implements UIViewControllerAnimatedTransitioning {
    static ObjCProtocols: {
        prototype: UIViewControllerAnimatedTransitioning;
    }[];
    owner: WeakRef<PageTransition>;
    static initWithOwner(owner: WeakRef<PageTransition>): PageTransitionController;
    transitionDuration(transitionContext: UIViewControllerContextTransitioning): number;
    animateTransition(transitionContext: UIViewControllerContextTransitioning): void;
}
export {};
