import { MediaPickerEnums, MediaPickerRenditionData, MediaPickerTransformedBase64Image } from ".."; import { MediaPickerBase64Image } from "./MediaPickerBase64Image"; import { MediaPickerImageRatioDefinition, MediaPickerRollupImageRatio } from "./MediaPickerImageRatio"; import { MediaPickerImageScalingDefinition } from "./MediaPickerImageScaling"; import { MediaPickerPersistedImageInformation } from "./MediaPickerPersistedImageDetails"; export interface MediaInformation { mediaType: MediaPickerEnums.OmniaMediaTypes; } export interface ImageInformation extends MediaInformation, MediaPickerBase64Image { sizeInBytes: number; sourceUrl?: string; } export interface VideoInformation extends MediaInformation { videoUrl: string; thumbnailUrl?: string; graphDriveId?: string; graphDriveItemId?: string; } export interface MediaItem { mediaType: MediaPickerEnums.OmniaMediaTypes; thumbnailUrl: string; } export interface ImageItem extends MediaItem { imageUrl: string; fileName: string; } export interface VideoItem extends MediaItem { videoUrl: string; } export interface BingMediaItem extends ImageItem { height: number; width: number; contentSize: number; encodingFormat: string; } export interface ImageEditorData { transformedBase64?: MediaPickerTransformedBase64Image; renditionData?: Array; imageAlternateText?: string; } export interface MediaPickerLimitedSizeSettings { fileSizeBytesLimit: number; } export interface ImageDataInfo { base64String: string; imageWidth: number; imageHeight: number; size: number; mimeType: string; format: string; } export interface MediaPickerImageInformation { width: number; height: number; sizeBytes: number; } export interface MediaPickerPersistedImage { providerImageInformation: MediaPickerPersistedImageInformation; metadata: Array; } export interface MediaPickerImageMetadata { name: string; value: string; } export interface MediaPickerImageSettings { /** Null is always show scaling options */ imageScalingOptions?: MediaPickerImageScalingOptions; /** Null is hide crop button, Empty array is free transform */ selectableRatios?: Array; rollupRatios?: Array; /** True: show transformation step. False: do not show transformation but still handle scaling, rollup image will not be generated */ disableTransformations: boolean; /** force using a custom image scaling options, i.e. hard-code a scaling option based on specific requirements */ customImageScalingDefinition?: MediaPickerImageScalingDefinition; } export interface MediaPickerImageScalingOptions { /** Scaling option that will be selected by default*/ preSelectedScalingOption: MediaPickerImageScalingDefinition; /** True: show scaling options and auto select default value. False: scale image by default value without showing scaling options */ showScalingOptions: boolean; } export interface ImageCropzoneRect { left: number; top: number; width: number; height: number; } export interface ImageTransformerOptions { editor: ImageTransformerEditorOptions; rollup: boolean; setting: boolean; } export interface ImageTransformerEditorOptions { crop: boolean; flip: boolean; filter: boolean; reset: boolean; }