import React$1, { FC } from 'react';
import * as twin_macro from 'twin.macro';
import { O as OverlayRenderProps } from '../types-9c54b1f2.js';

declare const LoadingIcon: React$1.FC<React$1.HTMLAttributes<SVGSVGElement>>;
declare const ArrowLeftIcon: React$1.FC<React$1.HTMLAttributes<SVGSVGElement>>;
declare const ArrowRightIcon: React$1.FC<React$1.HTMLAttributes<SVGSVGElement>>;
declare const ZoomInIcon: React$1.FC<React$1.HTMLAttributes<SVGSVGElement>>;
declare const ZoomOutIcon: React$1.FC<React$1.HTMLAttributes<SVGSVGElement>>;
declare const OneToOneIcon: React$1.FC<React$1.HTMLAttributes<SVGSVGElement>>;
declare const RotateLeftIcon: React$1.FC<React$1.HTMLAttributes<SVGSVGElement>>;
declare const RotateRightIcon: React$1.FC<React$1.HTMLAttributes<SVGSVGElement>>;
declare const DownloadIcon: React$1.FC<React$1.HTMLAttributes<SVGSVGElement>>;
declare const CloseIcon: React$1.FC<React$1.HTMLAttributes<SVGSVGElement>>;

interface CloseButtonProps extends React.HTMLAttributes<HTMLDivElement> {
    visible?: boolean;
}
declare const CloseButton: FC<CloseButtonProps>;

declare const DragStyledItem: twin_macro.TwComponent<"button">;
declare const DragStyledLabel: twin_macro.TwComponent<"button">;
declare const DragStyledSplit: twin_macro.TwComponent<"div">;
type DragToolbarKeys = 'arrowLeft' | 'arrowRight' | 'zoomIn' | 'zoomOut' | 'oneToOne' | 'countText' | 'scaleCount' | 'rotateLeft' | 'rotateRight' | 'download' | 'split';
interface DragToolbarProps extends OverlayRenderProps {
    items?: DragToolbarItems;
    children?: React$1.ReactNode;
    className?: string;
}
interface DragToolbarItem {
    key: DragToolbarKeys | string;
    component: React$1.FC<OverlayRenderProps>;
}
type DragToolbarItems = (DragToolbarItem | DragToolbarKeys)[];
interface DragItemProps extends OverlayRenderProps {
    className?: string;
    children?: React$1.ReactNode;
}
declare const DragArrowLeft: FC<DragItemProps>;
declare const DragCountText: FC<DragItemProps>;
declare const DragArrowRight: FC<DragItemProps>;
declare const DragSplit: FC<DragItemProps>;
declare const DragZoomOut: FC<DragItemProps>;
declare const DragScaleCount: FC<DragItemProps>;
declare const DragZoomIn: FC<DragItemProps>;
declare const DragOneToOne: FC<DragItemProps>;
declare const DragDownload: FC<DragItemProps>;
declare const DragRotateLeft: FC<DragItemProps>;
declare const DragRotateRight: FC<DragItemProps>;
declare const DragToolbarItemDefaultComponent: Record<DragToolbarKeys, React$1.FC<OverlayRenderProps>>;
declare const DragToolbar: FC<DragToolbarProps>;

type SlideToolbarKeys = 'arrowLeft' | 'arrowRight' | 'countText' | 'download';
interface SlideToolbarProps extends OverlayRenderProps {
    children?: React$1.ReactNode;
    items?: SlideToolbarKeys[];
}
interface SlideItemProps extends OverlayRenderProps {
    className?: string;
    children?: React$1.ReactNode;
}
declare const SlideArrowLeft: FC<SlideItemProps>;
declare const SlideArrowRight: FC<SlideItemProps>;
declare const SlideCountText: FC<SlideItemProps>;
declare const SlideDownload: FC<SlideItemProps>;
declare const SlideToolbarItemDefaultComponent: Record<SlideToolbarKeys, React$1.FC<OverlayRenderProps>>;
declare const SlideToolbar: FC<SlideToolbarProps>;

export { ArrowLeftIcon, ArrowRightIcon, CloseButton, CloseButtonProps, CloseIcon, DownloadIcon, DragArrowLeft, DragArrowRight, DragCountText, DragDownload, DragItemProps, DragOneToOne, DragRotateLeft, DragRotateRight, DragScaleCount, DragSplit, DragStyledItem, DragStyledLabel, DragStyledSplit, DragToolbar, DragToolbarItem, DragToolbarItemDefaultComponent, DragToolbarItems, DragToolbarKeys, DragToolbarProps, DragZoomIn, DragZoomOut, LoadingIcon, OneToOneIcon, RotateLeftIcon, RotateRightIcon, SlideArrowLeft, SlideArrowRight, SlideCountText, SlideDownload, SlideItemProps, SlideToolbar, SlideToolbarItemDefaultComponent, SlideToolbarKeys, SlideToolbarProps, ZoomInIcon, ZoomOutIcon };
