import type { View } from '../core/view';
import { Transition, SharedElementSettings } from '.';
export declare class ModalTransition extends Transition {
    transitionController: ModalTransitionController;
    interactiveController: UIPercentDrivenInteractiveTransition;
    interactiveGestureRecognizer: UIScreenEdgePanGestureRecognizer;
    presented: UIViewController;
    presenting: UIViewController;
    sharedElements: {
        presented?: Array<SharedElementSettings>;
        presenting?: Array<SharedElementSettings>;
        independent?: Array<SharedElementSettings & {
            isPresented?: boolean;
        }>;
    };
    private _interactiveStartCallback;
    private _interactiveDismissGesture;
    iosPresentedController(presented: UIViewController, presenting: UIViewController, source: UIViewController): UIViewControllerAnimatedTransitioning;
    iosDismissedController(dismissed: UIViewController): UIViewControllerAnimatedTransitioning;
    iosInteractionDismiss(animator: UIViewControllerAnimatedTransitioning): UIViewControllerInteractiveTransitioning;
    iosInteractionPresented(animator: UIViewControllerAnimatedTransitioning): UIViewControllerInteractiveTransitioning;
    setupInteractiveGesture(startCallback: () => void, view: View): void;
    private _interactiveDismissGestureHandler;
}
declare class ModalTransitionController extends NSObject implements UIViewControllerAnimatedTransitioning {
    static ObjCProtocols: {
        prototype: UIViewControllerAnimatedTransitioning;
    }[];
    owner: WeakRef<ModalTransition>;
    static initWithOwner(owner: WeakRef<ModalTransition>): ModalTransitionController;
    transitionDuration(transitionContext: UIViewControllerContextTransitioning): number;
    animateTransition(transitionContext: UIViewControllerContextTransitioning): void;
}
export {};
