import { ReactNode } from 'react'; /** * The subset of @creaditor/gallery's EventEmitter a manager function is * handed. Untyped upstream (a plain JS lit package) — this is the contract * `` actually calls: `on(topic, handler)` registers a handler * for one of load-folders / load-files / upload-file / delete-file / * create-folder / delete-folder / on-like / on-move-file / * lazy-load-files-on-scroll (each handler gets `{ resolve, ...payload }`, * and must call `resolve(...)`); `render()` re-triggers load-folders/ * load-files, for after a mutation the gallery should reflect immediately. */ export interface GalleryEmitter { on(topic: string, handler: (data: any) => void): void; render?: () => void; close?: () => void; } export type GalleryManager = (emitter: GalleryEmitter) => void; /** * Host integration for the full media-library gallery (folders, upload, * search — everything the Creaditor editor's gallery does). Additive to * `ImageSearchApi`/`onSearchImages`: a host can wire either, both, or * neither. When both are wired, this one wins in the Card image field — * `onSearchImages` stays exactly as it works today for hosts that don't * adopt this. */ export interface GalleryManagerApi { manager?: GalleryManager; enabled: boolean; } export declare function GalleryManagerProvider({ manager, children, }: { manager?: GalleryManager; children: ReactNode; }): import("react").JSX.Element; export declare function useGalleryManager(): GalleryManagerApi;