import {
    type ReactNode
} from "react";
import {
    type StyleProp,
    type ViewStyle
} from "react-native";

export type IModalRef = {
    closeAnimation: (onClosed?: () => void) => void;
};

export type ModalAlignContentProp = "center" | "free";

export type ModalInternalProps = {
    onOverlayPress?: (props: {
        closeAnimation: (callback?: () => void) => void
    }) => void;
    contentStyle?: StyleProp<ViewStyle>[] | StyleProp<ViewStyle>;
    style?: StyleProp<ViewStyle>[] | StyleProp<ViewStyle>;
    alignContent?: ModalAlignContentProp;
    isDisabledOverlay?: boolean;
    isOverlayVisible?: boolean;
    children?: ReactNode;
};

interface IModalProps extends ModalInternalProps {
};

export type {
    IModalProps as default
};
