///
import type { BaseImageProps } from '../BaseImage';
import type { Dimensions } from '../../types/types';
export type GalleryItem = Omit & {
dimensions?: Dimensions;
imageUrl?: string;
videoThumbnailUrl?: string;
videoUrl?: string;
};
/**
* Maps an attachment (or link preview) to gallery item fields.
* Delegates to {@link toBaseImageDescriptors}.
*/
export declare const toGalleryItemDescriptors: (attachment: import("stream-chat").Attachment | import("stream-chat").LocalImageAttachment | import("stream-chat").LocalVideoAttachment | import("stream-chat").LinkPreview, options?: {
giphyVersionName?: string | undefined;
} | undefined) => Pick | undefined;
export type GalleryContextValue = {
/** Whether clicking the empty gallery background should request close */
closeOnBackgroundClick: boolean;
/** Currently displayed item index */
currentIndex: number;
/** Currently displayed item */
currentItem: GalleryItem;
/** Navigate to a specific index */
goToIndex: (index: number) => void;
/** Navigate to the next item */
goToNext: () => void;
/** Navigate to the previous item */
goToPrevious: () => void;
/** Whether there is a next item */
hasNext: boolean;
/** Whether there is a previous item */
hasPrevious: boolean;
/** Total number of items */
itemCount: number;
/** All items in the gallery */
items: GalleryItem[];
/** Request closing the gallery viewer */
onRequestClose?: () => void;
};
export declare const GalleryContext: import("react").Context;
export declare const useGalleryContext: () => GalleryContextValue;
//# sourceMappingURL=GalleryContext.d.ts.map