@brizy/media-gallery
Version:
57 lines (56 loc) • 1.87 kB
TypeScript
import { GetItems as GetMediaLibraryItems, RemoveItems, UpdateItem, UploadItem } from "./pages/mediaLibrary/types/Api";
import { Locale } from "./types/Locale";
import { OnInsertFiles } from "./pages/types/Api";
import { DownloadItem, GetItems as GetStockPhotosItems } from "./pages/stockPhotos/types/Api";
import { GenerateFromText as AiGeneratedGenerateFromText, GenerateFromTextAndImage as AiGeneratedGenerateFromTextAndImage } from "./pages/aiGenerated/types/Api";
import { Colors } from "./utils/colors";
export interface MediaLibrary {
getItems: GetMediaLibraryItems;
uploadItem: UploadItem;
removeItems: RemoveItems;
updateItem: UpdateItem;
}
export interface StockPhotos {
getItems: GetStockPhotosItems;
downloadItem: DownloadItem;
}
export interface AspectRatioOption {
value: string;
label: string;
width: number;
height: number;
}
export interface Option {
value: string;
label: string;
}
export interface AiGenerated {
generateFromText: AiGeneratedGenerateFromText;
generateFromTextAndImage: AiGeneratedGenerateFromTextAndImage;
isApiKeyProvided: () => Promise<boolean>;
goToApiKeyTab: () => void;
aspectRatioOptions?: AspectRatioOption[];
styleOptions?: Option[];
resolutionOptions?: Option[];
thinkingModeOptions?: Option[];
countOfGenerationsOptions?: Option[];
}
export interface Config {
origin: string;
development: boolean;
acceptableTypes: string[];
mediaLibrary: MediaLibrary;
stockPhotos: StockPhotos;
aiGenerated: AiGenerated;
onClose: VoidFunction;
onInsertFiles: OnInsertFiles;
locale?: Locale;
insertFilesType?: "none" | "single" | "multiple";
height?: string;
isRTL?: boolean;
colors?: Colors;
}
export interface Props {
config: Config;
}
export declare const App: ({ config }: Props) => JSX.Element;