import { FC } from 'react';
import { CommentUpdateProps } from './types';
/**
 * ### CommentUpdate Component
 *
 * @description
 * This is a **BaseApp** feature.
 *
 * If you believe your changes should be in the BaseApp, please read the **CONTRIBUTING.md** guide.
 *
 * This component reuses the `SocialInput` component, adding a layer of `GraphQL` mutation and `form` setup to handle comment updates.
 *
 * It leverages the `useCommentUpdateMutation` mutation for updating comments and integrates form validation using
 * `react-hook-form` and Zod for schema validation.
 *
 * ### Extending the Component
 * If you need to customize the form validation schema or the GraphQL query, this component serves as a base.
 * You can copy the structure and replace the query or validation logic to fit your specific requirements.
 *
 * #### Example:
 * ```ts
 * import { useForm } from 'react-hook-form';
 * import { zodResolver } from '@hookform/resolvers/zod';
 * import { myCustomSchema } from './myCustomSchema';
 * import { useMyCustomUpdateMutation } from './myCustomMutation';
 * import SocialInput from './SocialInput';
 *
 * const MyCustomCommentUpdate = ({ comment, onCancel }) => {
 *   const form = useForm({
 *     resolver: zodResolver(myCustomSchema),
 *     defaultValues: { body: comment.body ?? '' },
 *   });
 *   const [commitUpdate, isMutationInFlight] = useMyCustomUpdateMutation();
 *
 *   const onSubmit = (data) => {
 *     commitUpdate({
 *       variables: { input: { id: comment.id, body: data.body } },
 *       onCompleted: (response) => {
 *         // handle response
 *         form.reset();
 *         onCancel();
 *       },
 *       onError: console.error,
 *     });
 *   };
 *
 *   return (
 *     <SocialInput
 *       form={form}
 *       submit={onSubmit}
 *       isLoading={isMutationInFlight}
 *       SubmitActions={UpdateSubmitActions}
 *     />
 *   );
 * };
 * ```
 */
declare const CommentUpdate: FC<CommentUpdateProps>;
export default CommentUpdate;
//# sourceMappingURL=index.d.ts.map