import type { ForYouContentPreset } from '../api/forYouFetch'; export interface MemeHookItem { id: string | number; name: string; imageUrl: string; } export interface MemeHookFont { name: string; url?: string; family?: string; } export interface MemeGeneratorHookConfig { apiUrl?: string; apiBaseUrl?: string; memeTag?: string; tags?: string[]; locale?: string; website_id?: string; contents?: ForYouContentPreset[]; } export interface UseMemeGeneratorOptions { config?: Partial; memes?: MemeHookItem[]; fonts?: MemeHookFont[]; defaultMemeIndex?: number; imageProxyUrl?: string; onDownload?: (meme: MemeHookItem, topText: string, bottomText: string) => void; } export declare const DEFAULT_MEME_CONFIG: MemeGeneratorHookConfig; export declare function useMemeGenerator({ config, memes: memesProp, fonts: fontsProp, defaultMemeIndex, imageProxyUrl, onDownload, }?: UseMemeGeneratorOptions): { allMemes: MemeHookItem[]; isLoading: boolean; selectedMeme: MemeHookItem | null; topText: string; setTopText: import("react").Dispatch>; bottomText: string; setBottomText: import("react").Dispatch>; isDownloading: boolean; fonts: MemeHookFont[]; canvasRef: import("react").RefObject; selectMeme: (meme: MemeHookItem) => void; drawMeme: () => Promise; download: () => Promise; }; //# sourceMappingURL=useMemeGenerator.d.ts.map