import { ModalBodyProps, ModalHeaderProps } from '@patternfly/react-core';
import { type FunctionComponent } from 'react';
import { ChatbotDisplayMode } from '../Chatbot';
import { ChatbotModalProps } from '../ChatbotModal';
import { FileDetailsLabelProps } from '../FileDetailsLabel';
export interface ImagePreviewProps extends Omit<ChatbotModalProps, 'children'> {
    /** Class applied to modal */
    className?: string;
    /** Function that handles modal toggle */
    handleModalToggle: (event: React.MouseEvent | MouseEvent | KeyboardEvent) => void;
    /** Whether modal is open */
    isModalOpen: boolean;
    /** Title of modal */
    title?: string;
    /** Display mode for the Chatbot parent; this influences the styles applied */
    displayMode?: ChatbotDisplayMode;
    /** Sets modal to compact styling. */
    isCompact?: boolean;
    /** Additional props passed to modal header */
    modalHeaderProps?: ModalHeaderProps;
    /** Additional props passed to modal body */
    modalBodyProps?: ModalBodyProps;
    /** Images displayed in modal */
    images: {
        fileName: string;
        fileSize?: string;
        image: React.ReactNode;
    }[];
    /** Flag indicating if the pagination is disabled. */
    isDisabled?: boolean;
    /** Accessible label for the pagination component. */
    paginationAriaLabel?: string;
    /** Accessible label for the button which moves to the next page. */
    toNextPageAriaLabel?: string;
    /** Accessible label for the button which moves to the previous page. */
    toPreviousPageAriaLabel?: string;
    /** Function called when user clicks to navigate to next page. */
    onNextClick?: (event: React.SyntheticEvent<HTMLButtonElement>, page: number) => void;
    /** Function called when user clicks to navigate to previous page. */
    onPreviousClick?: (event: React.SyntheticEvent<HTMLButtonElement>, page: number) => void;
    /** Function called when page is changed. */
    onSetPage?: (event: React.MouseEvent | React.KeyboardEvent | MouseEvent, newPage: number) => void;
    /** Callback function for when file details label close button is clicked */
    onCloseFileDetailsLabel?: (event: React.MouseEvent, fileName: string, fileId?: string | number) => void;
    /** Props passed to file details label */
    fileDetailsLabelProps?: Omit<FileDetailsLabelProps, 'fileName'>;
    /** Text shown in navigation */
    paginationContent?: string;
    /** Navigation progress announced to assistive devices. Should state the current page/image. */
    screenreaderText?: string;
}
declare const ImagePreview: FunctionComponent<ImagePreviewProps>;
export default ImagePreview;
