import { SyntheticEvent, ClipboardEvent, FormEvent } from 'react'; import { EmojiData } from 'emoji-mart'; import { UploadState } from 'react-file-utils'; import { OGAPIResponse, UR } from 'getstream'; import { DefaultAT, DefaultUT } from '../../context'; import { StatusUpdateFormProps } from './StatusUpdateForm'; export declare type FileUploadState = { file: File | Blob; id: string; state: UploadState; url?: string; }; export declare type ImageUploadState = FileUploadState & { previewUri?: string; }; declare type ImagesState = { data: Record; order: string[]; }; declare type FilesState = { data: Record; order: string[]; }; export declare function useStatusUpdateForm({ activityVerb, feedGroup, modifyActivityData, doRequest, userId, onSuccess, }: { activityVerb: string; feedGroup: string; } & Pick, 'doRequest' | 'modifyActivityData' | 'onSuccess' | 'userId'>): { userData: UT; textInputRef: import("react").MutableRefObject; text: string; submitting: boolean; files: FilesState; images: ImagesState; activeOg: OGAPIResponse | undefined; availableOg: OGAPIResponse[]; isOgScraping: boolean; ogActiveUrl: string; onSubmitForm: (e: FormEvent) => Promise; onSelectEmoji: (emoji: EmojiData) => void; insertText: (insertedText: string) => void; onChange: (event: SyntheticEvent) => void; dismissOg: (e?: SyntheticEvent | undefined) => void; setActiveOg: (url: string) => void; canSubmit: () => boolean; uploadNewFiles: (files: FileList | Blob[] | File[]) => void; uploadFile: (id: string, file: FileUploadState) => Promise; uploadImage: (id: string, img: ImageUploadState) => Promise; removeFile: (id: string) => void; removeImage: (id: string) => void; onPaste: (event: ClipboardEvent) => Promise; }; export {}; //# sourceMappingURL=useStatusUpdateForm.d.ts.map