import { Event, EventType, EventVisibility } from "../../interfaces/models/Event"; import { UploadImageOptions } from "../../interfaces/models/Image"; type BrowserFile = File; interface RNFile { uri: string; name: string; type?: string; } export type UniversalFile = BrowserFile | RNFile; export declare function isBrowserFile(file: UniversalFile): file is BrowserFile; export interface CoverUploadConfig { file: UniversalFile; options?: UploadImageOptions; } export interface GalleryUploadConfig { files: UniversalFile[]; options?: UploadImageOptions; } export interface CreateEventProps { title: string; description?: string; startTime: string; endTime?: string; timezone?: string; type: EventType; url?: string; venueName?: string; address?: string; location?: { latitude: number; longitude: number; }; spaceId?: string; visibility?: EventVisibility; capacity?: number; allowMaybe?: boolean; guestListVisible?: boolean; /** Additional host user IDs (the logged-in user is auto-added as a host). */ hostIds?: string[]; metadata?: Record; /** Inline cover image upload (single). Requires the files-images bundle. */ cover?: CoverUploadConfig; /** Inline gallery image upload (multi). Requires the files-images bundle. */ gallery?: GalleryUploadConfig; } declare function useCreateEvent(): (props: CreateEventProps) => Promise; export default useCreateEvent;