import React, { ComponentProps, PropsWithChildren } from 'react';
import { ImageWrapV2Props } from "../../../atoms";
import { Carousel } from "../../../mantine";
import { CarouselImageItem, CarouselImageItemWrapper, StyledImageCarousel } from "./index.styled";
export interface GeneralInfoData {
    id: number;
    name: string | React.ReactNode;
    altText?: string;
    logo?: string;
    banner?: string;
    description?: string | React.ReactNode;
    inject_schedule?: string;
    middleContent?: React.ReactNode;
}
export type GeneralInfoProps = {
    generalInfo: GeneralInfoData;
    backupSrc?: string;
    className?: string;
    contentClassName?: string;
    bannerProps?: Partial<ImageWrapV2Props>;
    imagesSelect?: React.ReactNode;
    isMobile?: boolean;
    imageCarousel?: string[];
    carouselSlotProps?: GeneralInfoCarouselSlotProps;
    isCarouselParallax?: boolean;
    onCarouselImageClick?: (index: number) => void;
};
type StyledImageCarouselProps = Omit<ComponentProps<typeof StyledImageCarousel>, 'children'>;
type CarouselSlideProps = Omit<ComponentProps<typeof Carousel.Slide>, 'children'>;
type CarouselImageItemWrapperProps = Omit<ComponentProps<typeof CarouselImageItemWrapper>, 'children'>;
type CarouselImageItemProps = Omit<ComponentProps<typeof CarouselImageItem>, 'children' | 'src' | 'alt' | 'backupSrc' | 'isMobile'>;
export type GeneralInfoCarouselSlotProps = {
    imageCarousel?: Partial<StyledImageCarouselProps>;
    slide?: Partial<CarouselSlideProps>;
    imageItemWrapper?: Partial<CarouselImageItemWrapperProps>;
    imageItem?: Partial<CarouselImageItemProps>;
};
export declare function GeneralInfo({ generalInfo, backupSrc, className, contentClassName, bannerProps, imagesSelect, children, isMobile: isMobileProp, imageCarousel, carouselSlotProps, isCarouselParallax, onCarouselImageClick, }: PropsWithChildren<GeneralInfoProps>): React.JSX.Element;
export declare namespace GeneralInfo {
    var Container: import("@emotion/styled").StyledComponent<{
        theme?: import("@emotion/react").Theme;
        as?: React.ElementType<any>;
    }, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
    var Image: import("@emotion/styled").StyledComponent<{
        alt: string;
        backupSrc?: string;
        unoptimized?: boolean;
        placeholderSrc?: string;
        width?: number;
        quality?: number;
    } & React.ClassAttributes<HTMLImageElement> & React.ImgHTMLAttributes<HTMLImageElement> & {
        theme?: import("@emotion/react").Theme;
    }, {}, {}>;
    var Content: import("@emotion/styled").StyledComponent<{
        theme?: import("@emotion/react").Theme;
        as?: React.ElementType<any>;
    }, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
}
export default GeneralInfo;
