import { default as React } from 'react';
import { BaseDialogProps } from './Dialog';
export type MediaDialogMedia = {
    /**
     * Defines the media type that is going to be displayed.
     *
     * Possible values are: `image` and `video`.
     */
    type: 'image' | 'video';
    /**
     * The source location for the media data.
     */
    src: string;
    /**
     * The name or title of the media used for the dialogs title.
     */
    title: string | React.ReactNode;
    /**
     * Additional media information used for the dialogs subtitle.
     */
    subtitle?: string | React.ReactNode;
    /**
     * Only relevant for videos where the aspect of the video is defined.
     *
     * Possible values are: `4by3` and `16by9`.
     * @default '16by9'
     */
    aspectRatio?: '4by3' | '16by9';
    /**
     * Additional classes for the image element.
     */
    className?: string;
};
export type MediaDialogProps = BaseDialogProps & {
    /**
     * List of media objects.
     */
    media: MediaDialogMedia[];
    /**
     * The button text for switching to the previous media if there are multiple.
     */
    previousButtonText: string | React.ReactNode;
    /**
     * Callback function for when the previous button is clicked.
     * @param newIndex
     * @returns
     */
    previousButtonCallback?: (newIndex: number) => void;
    /**
     * The button text for switching to the next media if there are multiple.
     */
    nextButtonText: string | React.ReactNode;
    /**
     * Callback function for when the next button is clicked.
     * @param newIndex
     * @returns
     */
    nextButtonCallback?: (newIndex: number) => void;
};
declare const MediaDialog: {
    (props: MediaDialogProps): import("react/jsx-runtime").JSX.Element;
    MEDIA_TYPE_IMAGE: "image";
    MEDIA_TYPE_VIDEO: "video";
};
export default MediaDialog;
