import React, { FC } from 'react';

interface GalleryItemType {
    src: string;
    alt?: string;
}

interface CardProps {
    tag?: string;
    subTitle?: string;
    title?: string;
    description?: string;
    className?: string;
    gallery: GalleryItemType[];
    autoplay?: boolean;
    onClick?: () => void;
}
declare const Card: FC<CardProps>;

interface InputSearchProps {
    placeholder?: string;
    onSearch?: (value: string) => void;
    onFocus?: () => void;
    onClick?: () => void;
    className?: string;
    value?: string;
}
declare const InputSearch: FC<InputSearchProps>;

declare const TabItemsDefault: TabItemPropsType[];
interface TabItemPropsType {
    label: string;
    value: string;
    icon?: string;
    disabled?: boolean;
}
interface TabsProps {
    active?: string;
    items?: TabItemPropsType[];
    onChange?: (value: string) => void;
    block?: boolean;
    className?: string;
}
declare const Tabs: FC<TabsProps>;

interface MobileLayoutProps {
    className?: string;
    headerTitle?: string | React.ReactNode;
    inputSearchProps?: InputSearchProps;
    tabsProps?: TabsProps;
    headerDescription?: string | React.ReactNode;
    affixContent?: boolean | React.ReactNode;
    affixOffsetTop?: number;
    children?: React.ReactNode;
    extraSearch?: React.ReactNode;
}
declare const MobileLayout: FC<MobileLayoutProps>;

interface MediaViewerItemType {
    fileUrl: string;
    altText?: string;
    code?: string;
    type?: string;
    thumbnail?: string;
}
interface MediaViewerProps {
    items: MediaViewerItemType[];
    selectedIndex?: number;
    onSelect: (index: number) => void;
    autoPlayVideo?: boolean;
    mutedVideo?: boolean;
    backgroundColor?: string;
    contentBottomGap?: number;
    thumbnailsConfig?: ThumbnailConfigProps;
}
interface ThumbnailConfigProps {
    gap?: number;
    size?: number;
    centered?: boolean;
}

declare const GalleryFullScreen: React.FC<MediaViewerProps>;

export { Card, CardProps, GalleryFullScreen, InputSearch, InputSearchProps, MobileLayout, MobileLayoutProps, TabItemPropsType, TabItemsDefault, Tabs, TabsProps };
