import { StyleProp, ViewStyle } from "react-native";
import { Modal, ModalProps } from "../Modal";
export declare const slideModalStyles: {
    container: {
        position: "absolute";
        top: number;
        left: number;
        bottom: number;
        right: number;
        flexDirection: "row";
        alignItems: "flex-start";
        justifyContent: "center";
        overflow: "hidden";
    };
    backdrop: {
        position: "absolute";
        top: number;
        left: number;
        bottom: number;
        right: number;
        backgroundColor: any;
    };
    content: {
        position: "absolute";
        overflow: "hidden";
    };
};
export interface SlideModalProps extends ModalProps {
    styles?: {
        root?: StyleProp<ViewStyle>;
        container?: StyleProp<ViewStyle>;
        backdrop?: StyleProp<ViewStyle>;
        content?: StyleProp<ViewStyle>;
    };
    viewportWidth?: number;
    viewportHeight?: number;
    offsetX?: number | undefined;
    offsetY?: number | undefined;
    direction?: "up" | ["up"] | ["up", "left"] | ["up", "right"] | "down" | ["down"] | ["down", "left"] | ["down", "right"] | "left" | ["left"] | "right" | ["right"];
    align?: "left" | "right" | "up" | "down";
    fullScreenPatch?: boolean[];
}
export declare class SlideModal<T extends SlideModalProps> extends Modal<T> {
    static defaultProps: {
        styles: {};
        cancelable: boolean;
        offsetX: number;
        offsetY: number;
        direction: string;
        align: string;
        fullScreenPatch: boolean[];
        scrollable: boolean;
        backdropColor: any;
        viewportWidth: number;
        viewportHeight: number;
        animatedTranslateX: null;
        animatedTranslateY: null;
        containerStyle: {};
        style: {};
        onOpen: null;
        onOpened: null;
        onClose: null;
        onClosed: null;
    };
    constructor(props: any);
    init(props: any, syncTag?: boolean): void;
    componentWillReceiveProps(nextProps: any): void;
    open(c?: any): Promise<any>;
    getRects(): {
        contentContainerRect: {
            top: number;
            bottom: number;
            left: number;
            right: number;
        };
        contentRect: {
            top: number;
            bottom: number;
            left: number;
            right: number;
        };
        contentClockwise1Rect: {
            top: number;
            bottom: number;
            left: number;
            right: number;
            backgroundColor: string;
        };
        contentClockwise2Rect: {
            top: number;
            bottom: number;
            left: number;
            right: number;
            backgroundColor: string;
        };
        contentClockwise3Rect: {
            top: number;
            bottom: number;
            left: number;
            right: number;
            backgroundColor: string;
        };
    };
    getFullScreenPatch(): {
        key: string;
        cancelable: T["cancelable"] | undefined;
        closeFn: (...args: any[]) => any;
        rect: any;
    }[];
    handleRootLayout: (e: any) => void;
    getContent(inner?: any): any;
    handleLayout: (e: any) => void;
}
