import React from 'react';
import { ModalProps } from '@mantine/core';
import { EmblaCarouselType } from 'embla-carousel-react';
import type { GeneralInfoData } from "../generalInfo/GeneralInfo";
export type TModalGalleryContext = {
    generalInfo: GeneralInfoData;
    imageCarousel: string[];
    backupSrc?: string;
    isMobile: boolean;
    activeIndex: number;
    initialSlide?: number;
    embla: EmblaCarouselType | null;
    altPrefix: string;
    galleryImages: string[];
    setActiveIndex: (index: number) => void;
    setEmbla: (embla: EmblaCarouselType | null) => void;
    handleThumbnailClick: (index: number) => void;
};
export type ModalGalleryProviderProps = {
    generalInfo: GeneralInfoData;
    imageCarousel?: string[];
    backupSrc?: string;
    isMobile?: boolean;
    initialSlide?: number;
    children: React.ReactNode;
};
export type ModalGalleryProps = {
    generalInfo: GeneralInfoData;
    imageCarousel?: string[];
    title?: React.ReactNode;
    backupSrc?: string;
    initialSlide?: number;
    isMobile?: boolean;
    isOpen?: boolean;
    onOpenChange?: (value: boolean) => void;
    onClose?: () => void;
    modalProps?: Omit<ModalProps, 'opened' | 'onClose' | 'title'>;
};
